private int AddCostsOfCommittedWork(ExcelWorksheet worksheet, List <int> simulationYears, CurrentCell currentCell, List <WorkSummaryByBudgetModel> comittedProjectsData) { var startYear = simulationYears[0]; int startRow, startColumn, row, column; bridgeWorkSummaryCommon.SetRowColumns(currentCell, out startRow, out startColumn, out row, out column); currentCell.Column = column; var committedTotalRow = 0; var uniqueTreatments = new Dictionary <string, int>(); var costForTreatments = new Dictionary <string, double>(); foreach (var data in comittedProjectsData) { if (data.YEARS < startYear || data.TREATMENT.ToLower() == "no treatment") { continue; } if (!uniqueTreatments.ContainsKey(data.TREATMENT)) { uniqueTreatments.Add(data.TREATMENT, currentCell.Row); worksheet.Cells[currentCell.Row, currentCell.Column].Value = data.TREATMENT; var cellToEnterCost = data.YEARS - startYear; worksheet.Cells[uniqueTreatments[data.TREATMENT], currentCell.Column + cellToEnterCost + 2].Value = data.CostPerTreatmentPerYear; costForTreatments.Add(data.TREATMENT, data.CostPerTreatmentPerYear); currentCell.Row += 1; } else { var cellToEnterCost = data.YEARS - startYear; worksheet.Cells[uniqueTreatments[data.TREATMENT], currentCell.Column + cellToEnterCost + 2].Value = data.CostPerTreatmentPerYear; } } row = currentCell.Row; column = currentCell.Column; worksheet.Cells[row, column].Value = Properties.Resources.CommittedTotal; column++; var fromColumn = column + 1; foreach (var year in simulationYears) { var yearlyBudget = comittedProjectsData.FindAll(_ => _.YEARS == year); var aggregateAmountPerYear = yearlyBudget.Sum(s => s.CostPerTreatmentPerYear); column = ++column; worksheet.Cells[row, column].Value = aggregateAmountPerYear; TotalCommittedSpent.Add(year, aggregateAmountPerYear); committedTotalRow = row; } excelHelper.ApplyBorder(worksheet.Cells[startRow, startColumn, row, column]); excelHelper.SetCustomFormat(worksheet.Cells[startRow, fromColumn, row, column], "NegativeCurrency"); excelHelper.ApplyColor(worksheet.Cells[startRow, fromColumn, row, column], Color.FromArgb(198, 224, 180)); excelHelper.ApplyColor(worksheet.Cells[committedTotalRow, fromColumn, committedTotalRow, column], Color.FromArgb(84, 130, 53)); excelHelper.SetTextColor(worksheet.Cells[committedTotalRow, fromColumn, committedTotalRow, column], Color.White); bridgeWorkSummaryCommon.UpdateCurrentCell(currentCell, ++row, column); return(committedTotalRow); }
private int AddSimulationYearData(ExcelWorksheet worksheet, int row, int column, YearsData yearData, int familyId, BridgeDataModel bridgeDataModel, Dictionary <int, int> projectPickByYear) { var minCActionCallDecider = MinCValue.minOfCulvDeckSubSuper; var familyIdLessThanEleven = familyId < 11; if (familyId > 10) { worksheet.Cells[row, ++column].Value = "N"; worksheet.Cells[row, ++column].Value = "N"; worksheet.Cells[row, ++column].Value = "N"; worksheet.Cells[row, column + 2].Value = "N"; worksheet.Cells[row, column + 3].Value = "N"; worksheet.Cells[row, column + 4].Value = "N"; yearData.Deck = "N"; yearData.Super = "N"; yearData.Sub = "N"; minCActionCallDecider = MinCValue.valueEqualsCulv; } else { worksheet.Cells[row, ++column].Value = Convert.ToDouble(yearData.Deck); worksheet.Cells[row, ++column].Value = Convert.ToDouble(yearData.Super); worksheet.Cells[row, ++column].Value = Convert.ToDouble(yearData.Sub); worksheet.Cells[row, column + 2].Value = Convert.ToDouble(yearData.DeckD); worksheet.Cells[row, column + 3].Value = Convert.ToDouble(yearData.SuperD); worksheet.Cells[row, column + 4].Value = Convert.ToDouble(yearData.SubD); } if (familyIdLessThanEleven) { worksheet.Cells[row, ++column].Value = "N"; worksheet.Cells[row, column + 4].Value = "N"; yearData.Culv = "N"; yearData.CulvD = "N"; if (minCActionCallDecider == MinCValue.valueEqualsCulv) { minCActionCallDecider = MinCValue.defaultValue; } else { minCActionCallDecider = MinCValue.minOfDeckSubSuper; } } else { worksheet.Cells[row, ++column].Value = Convert.ToDouble(yearData.Culv); worksheet.Cells[row, column + 4].Value = Convert.ToDouble(yearData.CulvD); } column += 4; column = valueForMinC[minCActionCallDecider](worksheet, row, column, yearData); // It returns the column number where MinC value is written if (bridgeDataModel.P3 > 0 && yearData.MinC < 5) { excelHelper.ApplyColor(worksheet.Cells[row, column], Color.Yellow); excelHelper.SetTextColor(worksheet.Cells[row, column], Color.Black); } //worksheet.Cells[row, ++column].Value = yearData.SD; //worksheet.Cells[row, ++column].Value = Convert.ToDouble(yearData.MinC) < 5 ? "Y" : "N" ; worksheet.Cells[row, ++column].Value = yearData.MinC < 5 ? "Y" : "N"; //poor if (yearData.Year != 0) { //worksheet.Cells[row, ++column].Value = bridgeDataModel.Posted == "Y" ? getPostedType(yearData.Project) : "N"; // Posted worksheet.Cells[row, ++column].Value = yearData.ProjectPick; // Project Pick worksheet.Cells[row, ++column].Value = yearData.Budget; // Budget worksheet.Cells[row, ++column].Value = yearData.Project; if (projectPickByYear[yearData.Year] == 2) { excelHelper.ApplyColor(worksheet.Cells[row, column], Color.FromArgb(0, 255, 0)); excelHelper.SetTextColor(worksheet.Cells[row, column], Color.Black); } worksheet.Cells[row, ++column].Value = yearData.Cost; excelHelper.SetCurrencyFormat(worksheet.Cells[row, column]); worksheet.Cells[row, ++column].Value = ""; // District Remarks } // Empty column column++; worksheet.Column(column).Style.Fill.PatternType = ExcelFillStyle.Solid; worksheet.Column(column).Style.Fill.BackgroundColor.SetColor(Color.Gray); return(column); }