private void Generate_Cash_Flows_Worksheet()

in src/Excel/ExportCoreReport.cs [235:332]


        private void Generate_Cash_Flows_Worksheet()
        {
            var dataWs = CoreWb.Worksheets.Add(CoreReportConstants.Cash_Flows_TabName, 3);

            for (int i = 0; i < CoreReportConstants.Cash_Flows_Years.Count; i++)
                dataWs.Cell(1, i + 3).Value = CoreReportConstants.Cash_Flows_Years[i];
            
            for (int i = 0; i < CoreReportConstants.Cash_Flows_CloudComputingServiceTypes.Count; i++)
            {
                dataWs.Cell(3 * i + 2, 1).Value = CoreReportConstants.Cash_Flows_CloudComputingServiceTypes[i];
                dataWs.Cell(3 * i + 3, 1).Value = CoreReportConstants.Cash_Flows_CloudComputingServiceTypes[i];
                dataWs.Cell(3 * i + 4, 1).Value = CoreReportConstants.Cash_Flows_CloudComputingServiceTypes[i];
            }

            for (int i = 0; i < CoreReportConstants.Cash_Flows_Types.Count; i++)
            {
                dataWs.Cell(3 * 1 + i - 1, 2).Value = CoreReportConstants.Cash_Flows_Types[i];
                dataWs.Cell(3 * 2 + i - 1, 2).Value = CoreReportConstants.Cash_Flows_Types[i];
                dataWs.Cell(3 * 3 + i - 1, 2).Value = CoreReportConstants.Cash_Flows_Types[i];
                dataWs.Cell(3 * 4 + i - 1, 2).Value = CoreReportConstants.Cash_Flows_Types[i];
            }

            // Total
            // Current state Cash Flow
            dataWs.Cell(2, 3).Value = Cash_Flows_Data.TotalYOYCosts.OnPremisesCostYOY.Year0;
            dataWs.Cell(2, 4).Value = Cash_Flows_Data.TotalYOYCosts.OnPremisesCostYOY.Year1;
            dataWs.Cell(2, 5).Value = Cash_Flows_Data.TotalYOYCosts.OnPremisesCostYOY.Year2;
            dataWs.Cell(2, 6).Value = Cash_Flows_Data.TotalYOYCosts.OnPremisesCostYOY.Year3;

            // Future state Cash Flow
            dataWs.Cell(3, 3).Value = Cash_Flows_Data.TotalYOYCosts.AzureCostYOY.Year0;
            dataWs.Cell(3, 4).Value = Cash_Flows_Data.TotalYOYCosts.AzureCostYOY.Year1;
            dataWs.Cell(3, 5).Value = Cash_Flows_Data.TotalYOYCosts.AzureCostYOY.Year2;
            dataWs.Cell(3, 6).Value = Cash_Flows_Data.TotalYOYCosts.AzureCostYOY.Year3;

            // Savings
            dataWs.Cell(4, 3).Value = Cash_Flows_Data.TotalYOYCosts.SavingsYOY.Year0;
            dataWs.Cell(4, 4).Value = Cash_Flows_Data.TotalYOYCosts.SavingsYOY.Year1;
            dataWs.Cell(4, 5).Value = Cash_Flows_Data.TotalYOYCosts.SavingsYOY.Year2;
            dataWs.Cell(4, 6).Value = Cash_Flows_Data.TotalYOYCosts.SavingsYOY.Year3;

            // IaaS
            // Current state Cash Flow
            dataWs.Cell(5, 3).Value = Cash_Flows_Data.IaaSYOYCosts.OnPremisesCostYOY.Year0;
            dataWs.Cell(5, 4).Value = Cash_Flows_Data.IaaSYOYCosts.OnPremisesCostYOY.Year1;
            dataWs.Cell(5, 5).Value = Cash_Flows_Data.IaaSYOYCosts.OnPremisesCostYOY.Year2;
            dataWs.Cell(5, 6).Value = Cash_Flows_Data.IaaSYOYCosts.OnPremisesCostYOY.Year3;

            // Future state Cash Flow
            dataWs.Cell(6, 3).Value = Cash_Flows_Data.IaaSYOYCosts.AzureCostYOY.Year0;
            dataWs.Cell(6, 4).Value = Cash_Flows_Data.IaaSYOYCosts.AzureCostYOY.Year1;
            dataWs.Cell(6, 5).Value = Cash_Flows_Data.IaaSYOYCosts.AzureCostYOY.Year2;
            dataWs.Cell(6, 6).Value = Cash_Flows_Data.IaaSYOYCosts.AzureCostYOY.Year3;

            // Savings
            dataWs.Cell(7, 3).Value = Cash_Flows_Data.IaaSYOYCosts.SavingsYOY.Year0;
            dataWs.Cell(7, 4).Value = Cash_Flows_Data.IaaSYOYCosts.SavingsYOY.Year1;
            dataWs.Cell(7, 5).Value = Cash_Flows_Data.IaaSYOYCosts.SavingsYOY.Year2;
            dataWs.Cell(7, 6).Value = Cash_Flows_Data.IaaSYOYCosts.SavingsYOY.Year3;

            // PaaS
            // Current state Cash Flow
            dataWs.Cell(8, 3).Value = Cash_Flows_Data.PaaSYOYCosts.OnPremisesCostYOY.Year0;
            dataWs.Cell(8, 4).Value = Cash_Flows_Data.PaaSYOYCosts.OnPremisesCostYOY.Year1;
            dataWs.Cell(8, 5).Value = Cash_Flows_Data.PaaSYOYCosts.OnPremisesCostYOY.Year2;
            dataWs.Cell(8, 6).Value = Cash_Flows_Data.PaaSYOYCosts.OnPremisesCostYOY.Year3;

            // Future state Cash Flow
            dataWs.Cell(9, 3).Value = Cash_Flows_Data.PaaSYOYCosts.AzureCostYOY.Year0;
            dataWs.Cell(9, 4).Value = Cash_Flows_Data.PaaSYOYCosts.AzureCostYOY.Year1;
            dataWs.Cell(9, 5).Value = Cash_Flows_Data.PaaSYOYCosts.AzureCostYOY.Year2;
            dataWs.Cell(9, 6).Value = Cash_Flows_Data.PaaSYOYCosts.AzureCostYOY.Year3;

            // Savings
            dataWs.Cell(10, 3).Value = Cash_Flows_Data.PaaSYOYCosts.SavingsYOY.Year0;
            dataWs.Cell(10, 4).Value = Cash_Flows_Data.PaaSYOYCosts.SavingsYOY.Year1;
            dataWs.Cell(10, 5).Value = Cash_Flows_Data.PaaSYOYCosts.SavingsYOY.Year2;
            dataWs.Cell(10, 6).Value = Cash_Flows_Data.PaaSYOYCosts.SavingsYOY.Year3;

            // AVS
            // Current state Cash Flow
            dataWs.Cell(11, 3).Value = Cash_Flows_Data.AvsYOYCosts.OnPremisesCostYOY.Year0;
            dataWs.Cell(11, 4).Value = Cash_Flows_Data.AvsYOYCosts.OnPremisesCostYOY.Year1;
            dataWs.Cell(11, 5).Value = Cash_Flows_Data.AvsYOYCosts.OnPremisesCostYOY.Year2;
            dataWs.Cell(11, 6).Value = Cash_Flows_Data.AvsYOYCosts.OnPremisesCostYOY.Year3;

            // Future state Cash Flow
            dataWs.Cell(12, 3).Value = Cash_Flows_Data.AvsYOYCosts.AzureCostYOY.Year0;
            dataWs.Cell(12, 4).Value = Cash_Flows_Data.AvsYOYCosts.AzureCostYOY.Year1;
            dataWs.Cell(12, 5).Value = Cash_Flows_Data.AvsYOYCosts.AzureCostYOY.Year2;
            dataWs.Cell(12, 6).Value = Cash_Flows_Data.AvsYOYCosts.AzureCostYOY.Year3;

            // Savings
            dataWs.Cell(13, 3).Value = Cash_Flows_Data.AvsYOYCosts.SavingsYOY.Year0;
            dataWs.Cell(13, 4).Value = Cash_Flows_Data.AvsYOYCosts.SavingsYOY.Year1;
            dataWs.Cell(13, 5).Value = Cash_Flows_Data.AvsYOYCosts.SavingsYOY.Year2;
            dataWs.Cell(13, 6).Value = Cash_Flows_Data.AvsYOYCosts.SavingsYOY.Year3;
        }