Example #1
0
        ///<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);
        }