Example #1
0
        public ActionResult AccountDate(DateTime dt)
        {
            var b = new DateTime(dt.Year, dt.Month, dt.Day);
            var e = b.AddDays(1);
            var resultEntities = _repository.Get(v => v.Status.Equals((int)DataStatus.Normal) &&
                                      v.User_Id.Equals(CurrentUser.CustomerId) &&
                                      v.DataDateTime >= b && v.DataDateTime < e);

            var sumiae =
    new IaeVo
    {
        Expenses = resultEntities.Where(v => v.Type.Equals((int)BillType.Expenses)).Sum(v => (decimal?)v.Amount) ?? 0,
        Revenue = resultEntities.Where(v => v.Type.Equals((int)BillType.Revenue)).Sum(v => (decimal?)v.Amount) ?? 0
    }
    ;


            var dto = new AccountDateDto { Summ = sumiae, CurrentDate = b, Data = resultEntities.ToList() };

            return View(dto);
        }
Example #2
0
        private Dictionary<int, IaeVo> WeekData(DateTime dt, IQueryable<BillEntity> resultEntities)
        {
            var s = DateTimeUtil.FirstDayOfWeek(dt);
            var e2 = DateTimeUtil.LastDayOfWeek(dt);
            var c = (int)((e2 - s).TotalDays) + 1;

            var d = new Dictionary<int, IaeVo>(c);

            for (var i = 0; i < c; i++)
            {
                var t = s.AddDays(i);
                var e = t.AddDays(1);
                var en = resultEntities.Where(v => v.DataDateTime >= t && v.DataDateTime < e);
                var iae = new IaeVo
                {
                    Expenses = en.Where(v => v.Type.Equals((int)BillType.Expenses)).Sum(v => (decimal?)v.Amount) ?? 0,
                    Revenue = en.Where(v => v.Type.Equals((int)BillType.Revenue)).Sum(v => (decimal?)v.Amount) ?? 0,
                    Date = t
                };
                d.Add(i + 1, iae);
            }

            return d;
        }
Example #3
0
        private Dictionary<int, IaeVo> YearData(DateTime dt, IQueryable<BillEntity> resultEntities)
        {
            var d = new Dictionary<int, IaeVo>(12);
            for (var i = 1; i <= 12; i++)
            {
                var t = new DateTime(dt.Year, i, 1);
                var e = t.AddMonths(1);
                var en = resultEntities.Where(v => v.DataDateTime >= t && v.DataDateTime < e);
                var iae = new IaeVo
                {
                    Expenses = en.Where(v => v.Type.Equals((int)BillType.Expenses)).Sum(v => (decimal?)v.Amount) ?? 0,
                    Revenue = en.Where(v => v.Type.Equals((int)BillType.Revenue)).Sum(v => (decimal?)v.Amount) ?? 0,
                    Date = t
                };
                d.Add(i, iae);
            }

            return d;
        }
Example #4
0
        private Dictionary<int, IaeVo> DayData(DateTime dt, IQueryable<BillEntity> resultEntities)
        {
            var d = new Dictionary<int, IaeVo>(1);


            var t = new DateTime(dt.Year, dt.Month, dt.Day);
            var e = t.AddDays(1);
            var en = resultEntities.Where(v => v.DataDateTime >= t && v.DataDateTime < e);
            var iae = new IaeVo
            {
                Expenses = en.Where(v => v.Type.Equals((int)BillType.Expenses)).Sum(v => (decimal?)v.Amount) ?? 0,
                Revenue = en.Where(v => v.Type.Equals((int)BillType.Revenue)).Sum(v => (decimal?)v.Amount) ?? 0,
                Date = t
            };

            d.Add(t.Day, iae);

            return d;
        }
Example #5
0
        public ActionResult RunningAccount(int dateType, DateTime currentDate)
        {
            var dt = (DateType)dateType;

            var today = new DateTime(currentDate.Year, currentDate.Month, currentDate.Day);
            DateTime startDate;
            DateTime endDate;

            switch (dt)
            {
                case DateType.Year:
                    startDate = new DateTime(today.Year, 1, 1);
                    endDate = startDate.AddYears(1);
                    break;
                case DateType.Week:
                    startDate = DateTimeUtil.FirstDayOfWeek(today);
                    endDate = DateTimeUtil.LastDayOfWeek(today).AddDays(1);
                    break;
                case DateType.Month:
                    startDate = new DateTime(today.Year, today.Month, 1);
                    endDate = startDate.AddMonths(1);
                    break;
                default:
                    startDate = new DateTime(today.Year, today.Month, today.Day);
                    endDate = startDate.AddDays(1);
                    break;
            }


            var resultEntities = _repository.Get(v => v.Status.Equals((int)DataStatus.Normal) &&
                                      v.User_Id.Equals(CurrentUser.CustomerId) &&
                                      v.DataDateTime >= startDate && v.DataDateTime < endDate);

            var sumiae =
                new IaeVo
                {
                    Expenses = resultEntities.Where(v => v.Type.Equals((int)BillType.Expenses)).Sum(v => (decimal?)v.Amount) ?? 0,
                    Revenue = resultEntities.Where(v => v.Type.Equals((int)BillType.Revenue)).Sum(v => (decimal?)v.Amount) ?? 0
                }
                ;

            Dictionary<int, IaeVo> d;

            switch (dt)
            {
                case DateType.Year:
                    d = YearData(today, resultEntities);
                    break;
                case DateType.Week:
                    d = WeekData(today, resultEntities);
                    break;
                case DateType.Month:
                    d = MonthData(today, resultEntities);
                    break;
                default:
                    d = DayData(today, resultEntities);
                    break;
            }

            var dto = new RunningAccountDto { CurrentDate = today, DateType = dt, YearIae = sumiae, Data = d };

            return View(dto);
        }