///<inheritdoc /> public void SaveGroupCell(Sheet sheet, SaveGroupCellParams parameters) { var records = GetRecordsToUpdate(sheet, parameters.GroupIds); if (parameters.ExcludedRecords != null) { records = records.Where(r => !parameters.ExcludedRecords.Contains(r.RecordId)); } int recordsCount = records.Count(); decimal groupCellValue = parameters.Value; decimal cellValue = CalcRecordCellValue(sheet, groupCellValue, recordsCount); foreach (var record in records) { if (record == records.Last()) { cellValue = CalcValueWithDivisionRemainder(cellValue, recordsCount, groupCellValue); } CellRepository.SaveCell(sheet, new Cell { EntityId = record.RecordId, PeriodId = parameters.PeriodId, ColumnId = parameters.ColumnId, Value = cellValue }); } }
public ConfigurationServiceResponse SaveGroupCell(SaveGroupCellParams parameters) { var response = new ConfigurationServiceResponse(); var sheet = SheetRepository.GetSheet(parameters.ForecastId); try { GroupCellsProvider.SaveGroupCell(sheet, parameters); } catch (Exception ex) { response.Exception = ex; } return(response); }