void LoadAnalysisData() {
            spreadsheetControl.Document.BeginUpdate();
            var salesReportWorksheet = spreadsheetControl.Document.Worksheets["Sales Report"];
            var salesReportItems = ViewModel.GetSalesReport().ToList(); // materialize
            var frCustomers = salesReportItems
                .Select(i => i.CustomerName)
                .Distinct()
                .OrderBy(i => i).ToList();
            salesReportWorksheet.Import(frCustomers, 14, 1, true);
            foreach(var reportItem in salesReportItems) {
                int rowOffset = frCustomers.IndexOf(reportItem.CustomerName);
                int columnOffset = AnalysisPeriod.MonthOffsetFromStart(reportItem.Date) / 12;
                if(rowOffset < 0 || columnOffset < 0) continue;
                salesReportWorksheet.Cells[14 + rowOffset, 3 + columnOffset * 2].SetValue(reportItem.Total);
            }
            var salesDataWorksheet = spreadsheetControl.Document.Worksheets["Sales Data"];
            var salesDataItems = ViewModel.GetSalesData().ToList(); // materialize
            var states = salesDataItems.Select(i => i.State).Distinct().OrderBy(i => i).ToList();

            salesDataWorksheet.Import(ViewModel.GetStates(states), 5, 3, false);
            foreach(var dataItem in salesDataItems) {
                int rowOffset = AnalysisPeriod.MonthOffsetFromStart(dataItem.Date);
                int columnOffset = states.IndexOf(dataItem.State);
                if(rowOffset < 0 || columnOffset < 0) continue;
                salesDataWorksheet.Cells[6 + rowOffset, 3 + columnOffset].SetValue(dataItem.Total);
            }
            spreadsheetControl.Document.Worksheets.ActiveWorksheet = salesReportWorksheet;
            spreadsheetControl.Document.EndUpdate();
        }
Exemplo n.º 2
0
        void LoadData()
        {
            CustomerAnalysisViewModel ViewModel = (CustomerAnalysisViewModel)this.DataContext;

            spreadsheetControl.Document.BeginUpdate();
            var salesReportWorksheet = spreadsheetControl.Document.Worksheets["Sales Report"];
            var salesReportItems     = ViewModel.GetSalesReport().ToList(); // materialize
            var frCustomers          = salesReportItems
                                       .Select(i => i.CustomerName)
                                       .Distinct()
                                       .OrderBy(i => i).ToList();

            salesReportWorksheet.Import(frCustomers, 14, 1, true);
            var startReportsDate = salesReportItems.Min(x => x.Date);

            foreach (CustomersAnalysis.Item item in salesReportItems)
            {
                int rowOffset    = frCustomers.IndexOf(item.CustomerName);
                int columnOffset = (int)(AnalysisPeriod.GetMonthOffsetFromStart(item.Date, startReportsDate) / 12);
                if (rowOffset < 0 || columnOffset < 0)
                {
                    continue;
                }
                salesReportWorksheet.Cells[14 + rowOffset, 3 + columnOffset * 2].SetValue(item.Total);
            }
            var salesDataWorksheet = spreadsheetControl.Document.Worksheets["Sales Data"];
            var salesDataItems     = ViewModel.GetSalesData().ToList(); // materialize
            var states             = salesDataItems.Select(i => i.State).Distinct().OrderBy(i => i).ToList();

            salesDataWorksheet.Import(ViewModel.GetStates(states), 5, 3, false);
            foreach (CustomersAnalysis.Item item in salesDataItems)
            {
                int rowOffset    = AnalysisPeriod.GetMonthOffsetFromStart(item.Date, startReportsDate) - 1;
                int columnOffset = states.IndexOf(item.State);
                if (rowOffset < 0 || columnOffset < 0)
                {
                    continue;
                }
                salesDataWorksheet.Cells[6 + rowOffset, 3 + columnOffset].SetValue(item.Total);
            }
            spreadsheetControl.Document.Worksheets.ActiveWorksheet = salesReportWorksheet;
            spreadsheetControl.Document.EndUpdate();
        }
Exemplo n.º 3
0
        void LoadData()
        {
            ProductAnalysisViewModel ViewModel = (ProductAnalysisViewModel)this.DataContext;

            spreadsheetControl.Document.BeginUpdate();
            var financialReportWorksheet = spreadsheetControl.Document.Worksheets["Financial Report"];
            var financialReportItems     = ViewModel.GetFinancialReport().ToList(); // materialize
            var frProducts = financialReportItems
                             .Select(i => i.ProductName)
                             .Distinct()
                             .OrderBy(i => i).ToList();

            financialReportWorksheet.Import(frProducts, 17, 1, true);
            var startReportsDate = financialReportItems.Min(x => x.Date);

            foreach (ProductsAnalysis.Item item in financialReportItems)
            {
                int rowOffset    = frProducts.IndexOf(item.ProductName);
                int columnOffset = (int)(AnalysisPeriod.GetMonthOffsetFromStart(item.Date, startReportsDate) / 12);
                if (rowOffset < 0 || columnOffset < 0)
                {
                    continue;
                }
                financialReportWorksheet.Cells[17 + rowOffset, 3 + columnOffset * 2].SetValue(item.Total);
            }
            var financialDataWorksheet = spreadsheetControl.Document.Worksheets["Financial Data"];
            var financialDataItems     = ViewModel.GetFinancialData().ToList(); // materialize

            foreach (ProductsAnalysis.Item item in financialDataItems)
            {
                int rowOffset    = AnalysisPeriod.GetMonthOffsetFromStart(item.Date, startReportsDate) - 1;
                int columnOffset = GetColumnIndex(item.ProductCategory);
                if (rowOffset < 0 || columnOffset < 0)
                {
                    continue;
                }
                financialDataWorksheet.Cells[6 + rowOffset, 3 + columnOffset].SetValue(item.Total);
            }
            spreadsheetControl.Document.Worksheets.ActiveWorksheet = financialReportWorksheet;
            spreadsheetControl.Document.EndUpdate();
        }
Exemplo n.º 4
0
        /***************************************************/
        /**** Public Methods                            ****/
        /***************************************************/

        public static AnalysisPeriod AnalysisPeriod(SpaceTime spaceTimeStart, SpaceTime spaceTimeEnd)
        {
            //DateTime startDateTime = Convert.ToDateTime(spaceTimeStart);
            //DateTime endDateTime = Convert.ToDateTime(spaceTimeEnd);
            DateTime   startDateTime = new DateTime(spaceTimeStart.Year, spaceTimeStart.Month, spaceTimeStart.Day, spaceTimeStart.Hour, spaceTimeStart.Minute, spaceTimeStart.Second, spaceTimeStart.Millisecond);
            DateTime   endDateTime   = new DateTime(spaceTimeEnd.Year, spaceTimeEnd.Month, spaceTimeEnd.Day, spaceTimeEnd.Hour, spaceTimeEnd.Minute, spaceTimeEnd.Second, spaceTimeEnd.Millisecond);
            PeriodType periodType;

            TimeSpan period = endDateTime - startDateTime;

            if (period.TotalHours < 0)
            {
                spaceTimeEnd = spaceTimeStart;
            }

            if (period.TotalHours >= 1)
            {
                if (period.TotalHours > 24)
                {
                    periodType = PeriodType.Period;
                }
                else
                {
                    periodType = PeriodType.Day;
                }
            }
            else
            {
                periodType = PeriodType.Point;
            }


            AnalysisPeriod analysisPeriod = new AnalysisPeriod
            {
                StartTime = spaceTimeStart,
                EndTime   = spaceTimeEnd,
                Type      = periodType
            };

            return(analysisPeriod);
        }
Exemplo n.º 5
0
        void LoadAnalysisData()
        {
            spreadsheetControl.Document.BeginUpdate();
            var financialReportWorksheet = spreadsheetControl.Document.Worksheets["Financial Report"];
            var financialReportItems     = ViewModel.GetFinancialReport().ToList(); // materialize
            var frProducts = financialReportItems
                             .Select(i => i.ProductName)
                             .Distinct()
                             .OrderBy(i => i).ToList();

            financialReportWorksheet.Import(frProducts, 17, 1, true);
            foreach (var reportItem in financialReportItems)
            {
                int rowOffset    = frProducts.IndexOf(reportItem.ProductName);
                int columnOffset = AnalysisPeriod.MonthOffsetFromStart(reportItem.Date) / 12;
                if (rowOffset < 0 || columnOffset < 0)
                {
                    continue;
                }
                financialReportWorksheet.Cells[17 + rowOffset, 3 + columnOffset * 2].SetValue(reportItem.Total);
            }
            var financialDataWorksheet = spreadsheetControl.Document.Worksheets["Financial Data"];
            var financialDataItems     = ViewModel.GetFinancialData().ToList(); // materialize

            foreach (var dataItem in financialDataItems)
            {
                int rowOffset    = AnalysisPeriod.MonthOffsetFromStart(dataItem.Date);
                int columnOffset = GetColumnIndex(dataItem.ProductCategory);
                if (rowOffset < 0 || columnOffset < 0)
                {
                    continue;
                }
                financialDataWorksheet.Cells[6 + rowOffset, 3 + columnOffset].SetValue(dataItem.Total);
            }
            spreadsheetControl.Document.Worksheets.ActiveWorksheet = financialReportWorksheet;
            spreadsheetControl.Document.EndUpdate();
        }