public FormattedPlanSheetBuilder(string sheetName, ExportPlanRequest exportPlanRequest) : base(sheetName) { _exportPlanRequest = exportPlanRequest; _viewMode = exportPlanRequest.ViewMode; _chartData = JsonConvert.DeserializeObject <ChartData>(exportPlanRequest.Chart.Version.JsonData, new JsonSerializerSettings { StringEscapeHandling = StringEscapeHandling.EscapeHtml, NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }); if (_chartData.Columns == null) { throw new ApplicationException("Please re-save plan before export"); } _columnsHelper = new ColumnsHelper(_viewMode, _chartData.Columns); _planRows = new Dictionary <int, RowDefinition>(); }
public FormulasPainter(ExcelWorksheet worksheet, int columnsOffset, FormattedPlanViewMode viewMode, Dictionary <int, CurrencyModel> currencies, Dictionary <DateTime, int> columnsLookup, Dictionary <int, RowDefinition> planRows) { _worksheet = worksheet; _columnsOffset = columnsOffset; _viewMode = viewMode; _currencies = currencies; _columnsLookup = columnsLookup; _planRows = planRows; }
public ColumnsHelper(FormattedPlanViewMode viewMode, HeaderColumns columns) { _viewMode = viewMode; switch (_viewMode) { case FormattedPlanViewMode.Daily: _columns = columns.Daily; break; case FormattedPlanViewMode.Weekly: _columns = columns.Weekly; break; case FormattedPlanViewMode.Monthly: throw new NotSupportedException("Monthly view is not supported"); } }
public void DrawPictures(List <Picture> pictures, FormattedPlanViewMode viewMode) { if (!pictures.Any()) { return; } var imagesLookup = DownloadAllImages(pictures); foreach (var picture in pictures) { try { DrawPicture(picture, imagesLookup); } catch { // ignored } } }
public SubtotalCellAddress(string key, int columnsOffset, FormattedPlanViewMode viewMode) { var rawAddress = key.Split(FLIGHTS_ADDRESS_SEPARATOR); switch (viewMode) { case FormattedPlanViewMode.Daily: IsSubtotalCellAddress = rawAddress[0] == DAILY_ADDRESS_MARKER; break; case FormattedPlanViewMode.Weekly: IsSubtotalCellAddress = rawAddress[0] == WEEKLY_ADDRESS_MARKER; break; } if (!IsSubtotalCellAddress) { return; } RowIndex = int.Parse(rawAddress[1]) + 1; ColumnIndex = int.Parse(rawAddress[2]) + columnsOffset; }