Пример #1
0
        // GET: Bills/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            var userName = User.FindFirstValue(ClaimTypes.Name);
            var billId   = id.GetValueOrDefault();

            if (billId == 0)
            {
                return(StatusCode(400));
            }

            var userService = new UserService();
            var userId      = await userService.GetUserId(userName);

            var userBillService = new UserBillService();
            var billToEdit      = userBillService.GetUserBillByBillId(userId, billId);

            if (billToEdit == null)
            {
                return(RedirectToAction("Error", "Home"));
            }

            var userDetails = await userService.GetUserDetailByUserId(userId);

            ViewData["UsersFirstName"] = userDetails.FirstName;

            return(View(billToEdit));
        }
Пример #2
0
        public async Task <IActionResult> Index(int?month, int?year)
        {
            var userName        = User.FindFirstValue(ClaimTypes.Name); // will give the user's userName
            var userBillService = new UserBillService();
            var usViewModel     = new UserBillsViewModel();

            var userService = new UserService();
            var userId      = await userService.GetUserId(userName);

            var navHelper = UserBillService.GetNavigationHelper(month, year);

            ViewBag.PreviousMonth      = navHelper.PrevMonth;
            ViewBag.PreviousMonthName  = new DateTime(navHelper.CurrentYear, navHelper.PrevMonth, 1).ToString(Format, CultureInfo.InvariantCulture);
            ViewBag.PreviousMonthsYear = navHelper.PrevMonthsYear;
            ViewBag.MonthName          = new DateTime(navHelper.CurrentYear, navHelper.CurrentMonth, 1).ToString(Format, CultureInfo.InvariantCulture);
            ViewBag.NextMonth          = navHelper.NextMonth;
            ViewBag.NextMonthName      = new DateTime(navHelper.CurrentYear, navHelper.NextMonth, 1).ToString(Format, CultureInfo.InvariantCulture);
            ViewBag.NextMonthsYear     = navHelper.NextMonthsYear;

            var userBills   = userBillService.GetMonthlyBillSetByUserIdAndMonthYear(userId, navHelper.CurrentMonth, navHelper.CurrentYear);
            var userDetails = await userService.GetUserDetailByUserId(userId);

            ViewData["UsersFirstName"]     = userDetails.FirstName;
            usViewModel.UserDetails        = userDetails;
            usViewModel.UserMonthlyBillSet = userBills;

            return(View(usViewModel));
        }
Пример #3
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            var userName    = User.FindFirstValue(ClaimTypes.Name);
            var userService = new UserService();
            var userId      = await userService.GetUserId(userName);

            var userBillService = new UserBillService();

            userBillService.DeleteUserBillByBillId(userId, id);

            return(RedirectToAction("Index"));
        }
Пример #4
0
        public IActionResult Edit(Bill bill)
        {
            if (ModelState.IsValid)
            {
                var userBillService = new UserBillService();
                var isSuccess       = userBillService.UpdateUserBill(bill);

                if (isSuccess)
                {
                    return(RedirectToAction("Index"));
                }
            }

            ViewBag.ErrorMessage = "There was an error creating the bill. Please try again.";
            return(View(bill));
        }
Пример #5
0
        public IActionResult PayBill(int billId, int day, int month, int year)
        {
            var userName        = User.FindFirstValue(ClaimTypes.Name);
            var userBillService = new UserBillService();
            var userService     = new UserService();
            var userId          = userService.GetUserId(userName).Result;

            userBillService.MarkBillAsPaid(billId, userId, day, month, year);

            var referer = Request.Headers["Referer"].ToString();

            if (referer == string.Empty)
            {
                return(RedirectToAction("Index"));
            }
            return(Redirect(referer));
        }
Пример #6
0
        // GET: Bills/Create
        public async Task <IActionResult> Create()
        {
            var userName    = User.FindFirstValue(ClaimTypes.Name);
            var userService = new UserService();
            var userId      = await userService.GetUserId(userName);

            var userDetails = await userService.GetUserDetailByUserId(userId);

            ViewData["UsersFirstName"] = userDetails.FirstName;

            var userBillService = new UserBillService();
            var billViewModel   = new BillViewModel
            {
                Bill = new Bill(),
                RecurrenceTypeList = await userBillService.GetRecurrenceTypes()
            };

            return(View(billViewModel));
        }
Пример #7
0
        // GET: Bills
        public async Task <IActionResult> Index()
        {
            var userName    = User.FindFirstValue(ClaimTypes.Name);
            var userService = new UserService();
            var userId      = await userService.GetUserId(userName);

            var userDetails = await userService.GetUserDetailByUserId(userId);

            var userBillService = new UserBillService();
            var ubViewModel     = new UserBillsViewModel
            {
                UserDetails = userDetails,
                UserBillSet = userBillService.GetBillsByUserIdConsolidated(userId)
            };

            ViewData["UsersFirstName"] = userDetails.FirstName;

            return(View(ubViewModel));
        }
Пример #8
0
        public async Task <IActionResult> Create(BillViewModel billViewModel)
        {
            var userName    = User.FindFirstValue(ClaimTypes.Name);
            var userService = new UserService();
            var userId      = await userService.GetUserId(userName);

            var userBillService = new UserBillService();
            var recModel        = UserBillService.GetRecModel(billViewModel);
            var recSchedule     = userBillService.GetRecSchedule(billViewModel.RecurrenceTypeId, recModel);
            var isSuccess       = userBillService.CreateNewUserBill(userId, billViewModel.Bill, recModel, recSchedule);

            if (isSuccess)
            {
                return(RedirectToAction("Index"));
            }

            ViewBag.ErrorMessage             = "There was an error creating your bill. Please try again.";
            billViewModel.RecurrenceTypeList = await userBillService.GetRecurrenceTypes();

            return(View(billViewModel));
        }