示例#1
0
        public ActionResult SwitchMonth(int NewMonthId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("login", "Home"));
            }

            var UserRepo   = new UserRepository(Properties.Settings.Default._connectionString);
            var budgetRepo = new BudgetRepository(Properties.Settings.Default._connectionString);

            var userId = UserRepo.GetUserByEmail(User.Identity.Name).Id;

            if (!budgetRepo.DoesMonthIdExistForUser(userId, NewMonthId))
            {
                return(Json(0));
            }


            List <Credit> Credits = budgetRepo.GetCreditsByMonthId(userId, NewMonthId);

            decimal      TotalCredit = Credits.Sum(C => C.Amount);
            List <Debit> Debits      = budgetRepo.GetDebitsByMonthId(userId, NewMonthId);


            return(Json(new { credits = Credits.Select(C => new
                {
                    Id = C.Id,
                    Amount = C.Amount.ToString("C"),
                    Date = C.Date,
                    Source = C.Source
                }),

                              creditTotal = Credits.Sum(C => C.Amount).ToString("C"),

                              debits = Debits.Select(D => new
                {
                    id = D.Id,
                    amount = D.Amount.ToString("C"),
                    date = D.Date,
                    category = D.Category.CategoryName,
                    detail = D.Details
                }),
                              debitTotal = Debits.Sum(D => D.Amount).ToString("C") }, JsonRequestBehavior.AllowGet));
        }