protected void IncompleteOrdersReportAddTotal(OrderDataPoint dataPoint, List <DashboardIncompleteOrdersModel> reports, int periodState)
 {
     for (int i = periodState; i < reports.Count; i++)
     {
         reports[i].Quantity++;
         reports[i].Amount += dataPoint.OrderTotal;
     }
 }
Exemple #2
0
        protected void SetOrderReportData(List <DashboardChartReportModel> reports, OrderDataPoint dataPoint)
        {
            var userTime  = _dateTimeHelper.ConvertToUserTime(DateTime.UtcNow, DateTimeKind.Utc);
            var dataIndex = dataPoint.OrderStatusId == 40 ? 0 : dataPoint.OrderStatusId / 10;

            // Today
            if (dataPoint.CreatedOn >= userTime.Date)
            {
                var today = reports[0].DataSets[dataIndex];
                today.Amount[dataPoint.CreatedOn.Hour] += dataPoint.OrderTotal;
                today.Quantity[dataPoint.CreatedOn.Hour]++;
            }
            // Yesterday
            else if (dataPoint.CreatedOn >= userTime.AddDays(-1).Date)
            {
                var yesterday = reports[1].DataSets[dataIndex];
                yesterday.Amount[dataPoint.CreatedOn.Hour] += dataPoint.OrderTotal;
                yesterday.Quantity[dataPoint.CreatedOn.Hour]++;
            }

            // Within last 7 days
            if (dataPoint.CreatedOn >= userTime.AddDays(-6).Date)
            {
                var week      = reports[2].DataSets[dataIndex];
                var weekIndex = (userTime.Date - dataPoint.CreatedOn.Date).Days;
                week.Amount[week.Amount.Length - weekIndex - 1] += dataPoint.OrderTotal;
                week.Quantity[week.Quantity.Length - weekIndex - 1]++;
            }

            // Within last 28 days
            if (dataPoint.CreatedOn >= userTime.AddDays(-27).Date)
            {
                var month      = reports[3].DataSets[dataIndex];
                var monthIndex = (userTime.Date - dataPoint.CreatedOn.Date).Days / 7;
                month.Amount[month.Amount.Length - monthIndex - 1] += dataPoint.OrderTotal;
                month.Quantity[month.Quantity.Length - monthIndex - 1]++;
            }

            // Within this year
            if (dataPoint.CreatedOn.Year == userTime.Year)
            {
                var year = reports[4].DataSets[dataIndex];
                year.Amount[dataPoint.CreatedOn.Month - 1] += dataPoint.OrderTotal;
                year.Quantity[dataPoint.CreatedOn.Month - 1]++;
            }
        }
        protected void IncompleteOrdersReportAddData(OrderDataPoint dataPoint, List <DashboardIncompleteOrdersModel> reports, int dataIndex)
        {
            var userTime = _dateTimeHelper.ConvertToUserTime(DateTime.UtcNow, DateTimeKind.Utc);

            // Within this year
            if (dataPoint.CreatedOn.Year == userTime.Year)
            {
                var year = reports[reports.Count - 1].Data[dataIndex];
                year.Quantity++;
                year.Amount += dataPoint.OrderTotal;
            }

            // Today
            if (dataPoint.CreatedOn >= userTime.Date)
            {
                // Apply data to all periods (but year)
                for (int i = 0; i < reports.Count - 1; i++)
                {
                    var today = reports[i].Data[dataIndex];
                    today.Amount += dataPoint.OrderTotal;
                    today.Quantity++;
                }
            }
            // Within last 7 days
            else if (dataPoint.CreatedOn >= userTime.AddDays(-6).Date)
            {
                // Apply data to week and month periods
                for (int i = 1; i < reports.Count - 1; i++)
                {
                    var week = reports[i].Data[dataIndex];
                    week.Amount += dataPoint.OrderTotal;
                    week.Quantity++;
                }
            }
            // Within last 28 days
            else if (dataPoint.CreatedOn >= userTime.AddDays(-27).Date)
            {
                var month = reports[2].Data[dataIndex];
                month.Amount += dataPoint.OrderTotal;
                month.Quantity++;
            }
        }