in src/Assessment/Processor/ProcessDatasets.cs [2214:2388]
private void Process_Business_Case_Model(
Business_Case Business_Case_Data,
List<SQL_MI_PaaS> SQL_MI_PaaS_List,
List<SQL_IaaS_Instance_Rehost_Perf> SQL_IaaS_Instance_Rehost_Perf_List,
List<SQL_IaaS_Server_Rehost_Perf> SQL_IaaS_Server_Rehost_Perf_List,
List<WebApp_PaaS> WebApp_PaaS_List,
List<WebApp_IaaS_Server_Rehost_Perf>WebApp_IaaS_Server_Rehost_Perf_List,
List<VM_IaaS_Server_Rehost_Perf> VM_IaaS_Server_Rehost_Perf_List
)
{
UserInputObj.LoggerObj.LogInformation("Creating excel model for Business_Case");
Business_Case_Data.OnPremisesIaaSCost.ComputeLicenseCost =
BusinessCaseData.OnPremIaaSCostDetails.ComputeLicenseCost - BusinessCaseData.OnPremIaaSCostDetails.EsuLicenseCost;
Business_Case_Data.OnPremisesIaaSCost.EsuLicenseCost = BusinessCaseData.OnPremIaaSCostDetails.EsuLicenseCost;
Business_Case_Data.OnPremisesIaaSCost.StorageCost = BusinessCaseData.OnPremIaaSCostDetails.StorageCost;
Business_Case_Data.OnPremisesIaaSCost.NetworkCost = BusinessCaseData.OnPremIaaSCostDetails.NetworkCost;
Business_Case_Data.OnPremisesIaaSCost.SecurityCost = BusinessCaseData.OnPremIaaSCostDetails.SecurityCost;
Business_Case_Data.OnPremisesIaaSCost.ITStaffCost = BusinessCaseData.OnPremIaaSCostDetails.ITStaffCost;
Business_Case_Data.OnPremisesIaaSCost.FacilitiesCost = BusinessCaseData.OnPremIaaSCostDetails.FacilitiesCost;
Business_Case_Data.OnPremisesPaaSCost.ComputeLicenseCost =
BusinessCaseData.OnPremPaaSCostDetails.ComputeLicenseCost - BusinessCaseData.OnPremPaaSCostDetails.EsuLicenseCost;
Business_Case_Data.OnPremisesPaaSCost.EsuLicenseCost = BusinessCaseData.OnPremPaaSCostDetails.EsuLicenseCost;
Business_Case_Data.OnPremisesPaaSCost.StorageCost = BusinessCaseData.OnPremPaaSCostDetails.StorageCost;
Business_Case_Data.OnPremisesPaaSCost.NetworkCost = BusinessCaseData.OnPremPaaSCostDetails.NetworkCost;
Business_Case_Data.OnPremisesPaaSCost.SecurityCost = BusinessCaseData.OnPremPaaSCostDetails.SecurityCost;
Business_Case_Data.OnPremisesPaaSCost.ITStaffCost = BusinessCaseData.OnPremPaaSCostDetails.ITStaffCost;
Business_Case_Data.OnPremisesPaaSCost.FacilitiesCost = BusinessCaseData.OnPremPaaSCostDetails.FacilitiesCost;
Business_Case_Data.OnPremisesAvsCost.ComputeLicenseCost =
BusinessCaseData.OnPremAvsCostDetails.ComputeLicenseCost - BusinessCaseData.OnPremAvsCostDetails.EsuLicenseCost;
Business_Case_Data.OnPremisesAvsCost.EsuLicenseCost = BusinessCaseData.OnPremAvsCostDetails.EsuLicenseCost;
Business_Case_Data.OnPremisesAvsCost.StorageCost = BusinessCaseData.OnPremAvsCostDetails.StorageCost;
Business_Case_Data.OnPremisesAvsCost.NetworkCost = BusinessCaseData.OnPremAvsCostDetails.NetworkCost;
Business_Case_Data.OnPremisesAvsCost.SecurityCost = BusinessCaseData.OnPremAvsCostDetails.SecurityCost;
Business_Case_Data.OnPremisesAvsCost.ITStaffCost = BusinessCaseData.OnPremAvsCostDetails.ITStaffCost;
Business_Case_Data.OnPremisesAvsCost.FacilitiesCost = BusinessCaseData.OnPremAvsCostDetails.FacilitiesCost;
Business_Case_Data.TotalOnPremisesCost.ComputeLicenseCost =
Business_Case_Data.OnPremisesIaaSCost.ComputeLicenseCost +
Business_Case_Data.OnPremisesPaaSCost.ComputeLicenseCost +
Business_Case_Data.OnPremisesAvsCost.ComputeLicenseCost;
Business_Case_Data.TotalOnPremisesCost.EsuLicenseCost =
Business_Case_Data.OnPremisesIaaSCost.EsuLicenseCost +
Business_Case_Data.OnPremisesPaaSCost.EsuLicenseCost +
Business_Case_Data.OnPremisesAvsCost.EsuLicenseCost;
Business_Case_Data.TotalOnPremisesCost.StorageCost =
Business_Case_Data.OnPremisesIaaSCost.StorageCost +
Business_Case_Data.OnPremisesPaaSCost.StorageCost +
Business_Case_Data.OnPremisesAvsCost.StorageCost;
Business_Case_Data.TotalOnPremisesCost.NetworkCost =
Business_Case_Data.OnPremisesIaaSCost.NetworkCost +
Business_Case_Data.OnPremisesPaaSCost.NetworkCost +
Business_Case_Data.OnPremisesAvsCost.NetworkCost;
Business_Case_Data.TotalOnPremisesCost.SecurityCost =
Business_Case_Data.OnPremisesIaaSCost.SecurityCost +
Business_Case_Data.OnPremisesPaaSCost.SecurityCost +
Business_Case_Data.OnPremisesAvsCost.SecurityCost;
Business_Case_Data.TotalOnPremisesCost.ITStaffCost =
Business_Case_Data.OnPremisesIaaSCost.ITStaffCost +
Business_Case_Data.OnPremisesPaaSCost.ITStaffCost +
Business_Case_Data.OnPremisesAvsCost.ITStaffCost;
Business_Case_Data.TotalOnPremisesCost.FacilitiesCost =
Business_Case_Data.OnPremisesIaaSCost.FacilitiesCost +
Business_Case_Data.OnPremisesPaaSCost.FacilitiesCost +
Business_Case_Data.OnPremisesAvsCost.FacilitiesCost;
if (!AzureIaaSCalculator.IsCalculationComplete())
{
AzureIaaSCalculator.SetParameters(
SQL_IaaS_Instance_Rehost_Perf_List,
SQL_IaaS_Server_Rehost_Perf_List,
WebApp_IaaS_Server_Rehost_Perf_List,
VM_IaaS_Server_Rehost_Perf_List
);
AzureIaaSCalculator.Calculate();
}
Business_Case_Data.AzureIaaSCost.ComputeLicenseCost = AzureIaaSCalculator.GetTotalComputeCost() * 12.0;
Business_Case_Data.AzureIaaSCost.EsuLicenseCost = 0;
Business_Case_Data.AzureIaaSCost.StorageCost = AzureIaaSCalculator.GetTotalStorageCost() * 12.0;
Business_Case_Data.AzureIaaSCost.NetworkCost =
0.05 * (Business_Case_Data.AzureIaaSCost.ComputeLicenseCost + Business_Case_Data.AzureIaaSCost.StorageCost);
Business_Case_Data.AzureIaaSCost.SecurityCost = AzureIaaSCalculator.GetTotalSecurityCost() * 12.0;
Business_Case_Data.AzureIaaSCost.ITStaffCost = BusinessCaseData.AzureIaaSCostDetails.ITStaffCost;
Business_Case_Data.AzureIaaSCost.FacilitiesCost = BusinessCaseData.AzureIaaSCostDetails.FacilitiesCost;
if (!AzurePaaSCalculator.IsCalculationComplete())
{
AzurePaaSCalculator.SetParameters(SQL_MI_PaaS_List, WebApp_PaaS_List);
AzurePaaSCalculator.Calculate();
}
Business_Case_Data.AzurePaaSCost.ComputeLicenseCost = AzurePaaSCalculator.GetTotalComputeCost() * 12.0;
Business_Case_Data.AzurePaaSCost.EsuLicenseCost = 0;
Business_Case_Data.AzurePaaSCost.StorageCost = AzurePaaSCalculator.GetTotalStorageCost() * 12.0;
Business_Case_Data.AzurePaaSCost.NetworkCost =
0.05 * (Business_Case_Data.AzurePaaSCost.ComputeLicenseCost + Business_Case_Data.AzurePaaSCost.StorageCost);
Business_Case_Data.AzurePaaSCost.SecurityCost = AzurePaaSCalculator.GetTotalSecurityCost() * 12.0;
Business_Case_Data.AzurePaaSCost.ITStaffCost = BusinessCaseData.AzurePaaSCostDetails.ITStaffCost;
Business_Case_Data.AzurePaaSCost.FacilitiesCost = BusinessCaseData.AzurePaaSCostDetails.FacilitiesCost;
if (UserInputObj.BusinessProposal == BusinessProposal.AVS.ToString() && !AzureAvsCalculator.IsCalculationComplete())
{
AzureAvsCalculator.SetParameters(AVSAssessmentsData);
AzureAvsCalculator.Calculate();
}
Business_Case_Data.AzureAvsCost.ComputeLicenseCost = AzureAvsCalculator.GetTotalAvsComputeCost() * 12.0;
Business_Case_Data.AzureAvsCost.EsuLicenseCost = BusinessCaseData.AzureAvsCostDetails.EsuLicenseCost;
Business_Case_Data.AzureAvsCost.StorageCost = BusinessCaseData.AzureAvsCostDetails.StorageCost;
Business_Case_Data.AzureAvsCost.NetworkCost =
BusinessCaseData.AzureAvsCostDetails.NetworkCost +
0.05 * (Business_Case_Data.AzureAvsCost.ComputeLicenseCost - BusinessCaseData.AzureAvsCostDetails.ComputeLicenseCost);
Business_Case_Data.AzureAvsCost.ITStaffCost = BusinessCaseData.AzureAvsCostDetails.ITStaffCost;
Business_Case_Data.AzureAvsCost.SecurityCost = BusinessCaseData.AzureAvsCostDetails.SecurityCost;
Business_Case_Data.AzureAvsCost.FacilitiesCost = BusinessCaseData.AzureAvsCostDetails.FacilitiesCost;
if (UserInputObj.BusinessProposal == BusinessProposal.AVS.ToString() && UserInputObj.WorkflowObj.IsExpressWorkflow)
{
Business_Case_Data.AzureAvsCost.ComputeLicenseCost = BusinessCaseData.AzureAvsCostDetails.ComputeLicenseCost -
BusinessCaseData.AzureAvsCostDetails.EsuLicenseCost;
Business_Case_Data.AzureAvsCost.NetworkCost = BusinessCaseData.AzureAvsCostDetails.NetworkCost;
}
Business_Case_Data.TotalAzureCost.ComputeLicenseCost =
Business_Case_Data.AzureIaaSCost.ComputeLicenseCost +
Business_Case_Data.AzurePaaSCost.ComputeLicenseCost +
Business_Case_Data.AzureAvsCost.ComputeLicenseCost;
Business_Case_Data.TotalAzureCost.EsuLicenseCost =
Business_Case_Data.AzureIaaSCost.EsuLicenseCost +
Business_Case_Data.AzurePaaSCost.EsuLicenseCost +
Business_Case_Data.AzureAvsCost.EsuLicenseCost;
Business_Case_Data.TotalAzureCost.StorageCost =
Business_Case_Data.AzureIaaSCost.StorageCost +
Business_Case_Data.AzurePaaSCost.StorageCost +
Business_Case_Data.AzureAvsCost.StorageCost;
Business_Case_Data.TotalAzureCost.NetworkCost =
Business_Case_Data.AzureIaaSCost.NetworkCost +
Business_Case_Data.AzurePaaSCost.NetworkCost +
Business_Case_Data.AzureAvsCost.NetworkCost;
Business_Case_Data.TotalAzureCost.ITStaffCost =
Business_Case_Data.AzureIaaSCost.ITStaffCost +
Business_Case_Data.AzurePaaSCost.ITStaffCost +
Business_Case_Data.AzureAvsCost.ITStaffCost;
Business_Case_Data.TotalAzureCost.SecurityCost =
Business_Case_Data.AzureIaaSCost.SecurityCost +
Business_Case_Data.AzurePaaSCost.SecurityCost +
Business_Case_Data.AzureAvsCost.SecurityCost;
Business_Case_Data.TotalAzureCost.FacilitiesCost =
Business_Case_Data.AzureIaaSCost.FacilitiesCost +
Business_Case_Data.AzurePaaSCost.FacilitiesCost +
Business_Case_Data.AzureAvsCost.FacilitiesCost;
Business_Case_Data.WindowsServerLicense.ComputeLicenseCost = BusinessCaseData.WindowsServerLicense.ComputeLicenseCost;
Business_Case_Data.SqlServerLicense.ComputeLicenseCost = BusinessCaseData.SqlServerLicense.ComputeLicenseCost;
Business_Case_Data.EsuSavings.ComputeLicenseCost = BusinessCaseData.EsuSavings.ComputeLicenseCost;
UserInputObj.LoggerObj.LogInformation("Updated Business_Case excel model");
}