public WeeklySummary GetWeeklySummary()
        {
            var result     = new WeeklySummary();
            var resultLast = new WeeklySummary();

            AddWeekData(result, DateRangeType.ThisWeek);
            AddWeekData(resultLast, DateRangeType.LastWeek);

            result.MondayLast    = resultLast.Monday;
            result.TuesdayLast   = resultLast.Tuesday;
            result.WednesdayLast = resultLast.Wednesday;
            result.ThursdayLast  = resultLast.Thursday;
            result.FridayLast    = resultLast.Friday;
            result.SaturdayLast  = resultLast.Saturday;
            result.SundayLast    = resultLast.Sunday;

            return(result);
        }
        public void AddSampleData(WeeklySummary result)
        {
            result.Monday    = 500.23m;
            result.Tuesday   = 750.01m;
            result.Wednesday = 421.75m;
            result.Thursday  = 647.00m;
            result.Friday    = 541.94m;
            result.Saturday  = 354.11m;
            result.Sunday    = 402.04m;

            result.MondayLast    = 0m;      // zero
            result.TuesdayLast   = 610.44m; // less
            result.WednesdayLast = 422.01m; // more by a litte
            result.ThursdayLast  = 567.17m; // less
            result.FridayLast    = 541.94m; // same
            result.SaturdayLast  = 414.55m; // more
            result.Sunday        = 288.95m; // less
        }
        private void AddWeekData(WeeklySummary result, DateRangeType weekRangeType)
        {
            var rangeData = new DateRange();

            rangeData.RangeType = weekRangeType;
            rangeData.CalculateDatesFromType(DateHelper.ConvertUtcToStoreTime(_hccApp));

            var totalCount = 0;
            var storeId    = _hccApp.CurrentStore.Id;

            var data = _hccApp.OrderServices.Transactions
                       .FindForReportByDateRange(rangeData.StartDate.ToUniversalTime(), rangeData.EndDate.ToUniversalTime(),
                                                 storeId, int.MaxValue, 1, ref totalCount);

            decimal m = 0;
            decimal t = 0;
            decimal w = 0;
            decimal r = 0;
            decimal f = 0;
            decimal s = 0;
            decimal y = 0;

            foreach (var ot in data)
            {
                var timeStamp = DateHelper.ConvertUtcToStoreTime(_hccApp, ot.TimeStampUtc);

                switch (timeStamp.DayOfWeek)
                {
                case DayOfWeek.Monday:
                    m += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Tuesday:
                    t += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Wednesday:
                    w += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Thursday:
                    r += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Friday:
                    f += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Saturday:
                    s += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Sunday:
                    y += ot.AmountAppliedToOrder;
                    break;
                }
            }

            result.Monday    = m;
            result.Tuesday   = t;
            result.Wednesday = w;
            result.Thursday  = r;
            result.Friday    = f;
            result.Saturday  = s;
            result.Sunday    = y;
        }