예제 #1
0
        public ActionResult RecentExpense()
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var expense = _expenseService.GetExpenses(ident.UserId, null, null, null).Take(5).ToList();

            return(PartialView("_recentExpense", expense));
        }
예제 #2
0
        public ActionResult RecentCategory()
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var category = _categoryService.GetCategories(ident.UserId, null, null).Take(5).ToList();

            return(PartialView("_recentCategory", category));
        }
예제 #3
0
        private void LoadCategory()
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var category = _categoryService.GetCategories(ident.UserId, null, null);

            ViewBag.categories = category;
        }
예제 #4
0
        // GET: Expense
        public ActionResult Index(string searchString, DateTime?startDate, DateTime?endDate, int page = 1)
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var expense = _expenseService.GetExpenses(ident.UserId, searchString, startDate, endDate);

            return(Request.IsAjaxRequest()
             ? (ActionResult)PartialView("_list", expense.ToPagedList(page, pageSize))
             : View(expense.ToPagedList(page, pageSize)));
        }
예제 #5
0
        public ActionResult LimitNotifier()
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var model = new DashboardExpenseLimit();

            model.ExpenseLimit = _expenseLimitService.GetExpenseByUser(ident.UserId);
            model.Expenses     = _expenseService.GetTodayExpense(ident.UserId);
            return(PartialView("_limitNotifier", model));
        }
예제 #6
0
        public ActionResult ExpenseChart()
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var model            = _expenseService.GetTotalAmountByDate(ident.UserId);
            var expensByCategory = _expenseService.GetMostExpensedCategory(ident.UserId);

            ViewBag.expense           = model;
            ViewBag.expenseByCategory = expensByCategory;
            return(PartialView("_expenseChart"));
        }
예제 #7
0
        public ActionResult ExpenseReport(DateTime?startDate, DateTime?endDate, int?categoryId)
        {
            LoadCategory();
            //Gets user session data
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;

            var expense = _expenseService.GetExpenseReport(ident.UserId, startDate, endDate, categoryId);

            return(View(expense));
        }
예제 #8
0
        public ActionResult Counter()
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            DashboardCounter       model = new DashboardCounter();

            model.ExpenseCount      = _expenseService.ExpenseCount(ident.UserId);
            model.CategoryCount     = _categoryService.CategoryCount(ident.UserId);
            model.TotalExpenseToday = _expenseService.GetTotalExpenseToday(ident.UserId);
            model.TotalExpense      = _expenseService.GetTotalExpense(ident.UserId);
            return(PartialView("_counter", model));
        }
        // GET: Category
        /// <summary>
        /// Returns category index view, returns partial view while ajax call
        /// </summary>
        /// <param name="searchString"></param>
        /// <param name="status"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public ActionResult Index(string searchString, int?status, int page = 1)
        {
            //Gets user session data
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;

            var category = _categoryService.GetCategories(ident.UserId, searchString, status);

            return(Request.IsAjaxRequest()
             ? (ActionResult)PartialView("_list", category.ToPagedList(page, pageSize))
             : View(category.ToPagedList(page, pageSize)));
        }
예제 #10
0
        public ActionResult Edit(int id)
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var category = _categoryService.GetCategoryById(id, ident.UserId);

            if (category == null)
            {
                ShowStatus(400, "Category with id " + id.ToString() + " does not exist.");
                return(RedirectToAction("Index", "Category"));
            }
            return(View(category));
        }
예제 #11
0
        public ActionResult Edit()
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var expenseLimit             = _expenseLimitService.GetExpenseByUser(ident.UserId);

            if (expenseLimit == null)
            {
                ShowStatus(400, "Expense Limit for user " + ident.UserName + " does not exist.");
                return(RedirectToAction("Create", "ExpenseLimit"));
            }
            return(View(expenseLimit));
        }
예제 #12
0
        public ActionResult DeleteConfirmation(int id)
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
            var expense = _expenseService.GetExpenseById(id, ident.UserId);

            if (expense == null)
            {
                ShowStatus(400, "Expense with id " + id.ToString() + " does not exist.");
                return(RedirectToAction("Index", "Expense"));
            }

            return(PartialView("_deleteConfirmation", expense));
        }
        public async void ContinueWebAuthentication(Windows.ApplicationModel.Activation.WebAuthenticationBrokerContinuationEventArgs args)
        {
            if (args.WebAuthenticationResult.ResponseStatus == WebAuthenticationStatus.Success)
            {
                var authResponse = new AuthorizeResponse(args.WebAuthenticationResult.ResponseData);

                // create & save the information we need related to the user, and the access token
                App.ExpenseTrackerIdentity = await ExpenseTrackerIdentity.Create(authResponse);

                // redirect to the first page
                Frame.Navigate(typeof(ExpenseGroupsView));
            }
        }
예제 #14
0
        public ActionResult Edit(int id)
        {
            //There user id is used to get the expense, to prevent the user from getting some one else data
            //by manipulating the parameters
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;

            LoadCategory();
            var expense = _expenseService.GetExpenseById(id, ident.UserId);

            if (expense == null)
            {
                ShowStatus(400, "Expense with id " + id.ToString() + " does not exist.");
                return(RedirectToAction("Index", "Expense"));
            }
            return(View(expense));
        }
예제 #15
0
        public ActionResult Edit(ExpenseLimit expenseLimit)
        {
            if (ModelState.IsValid)
            {
                ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
                expenseLimit.CreatedBy = ident.UserId;
                var data = _expenseLimitService.Update(expenseLimit);
                ShowStatus(data.StatusCode, data.Status);
                if (data.StatusCode == 200)
                {
                    return(RedirectToAction("Index", "Dashboard"));
                }
            }

            return(View(expenseLimit));
        }
예제 #16
0
 public ActionResult Create(ExpenseLimit expense)
 {
     if (ModelState.IsValid)
     {
         ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
         expense.Status    = true;
         expense.CreatedBy = ident.UserId;
         var msg = _expenseLimitService.Create(expense);
         ShowStatus(msg.StatusCode, msg.Status);
         if (msg.StatusCode == 200)
         {
             return(RedirectToAction("Index", "Dashboard"));
         }
     }
     return(View());
 }
예제 #17
0
        public ActionResult Create(Expense expense)
        {
            LoadCategory();
            if (ModelState.IsValid)
            {
                ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;

                expense.CreatedBy = ident.UserId;
                expense.CreatedAt = DateTime.Now;
                var data = _expenseService.Create(expense);
                ShowStatus(data.StatusCode, data.Status);
                if (data.StatusCode == 200)
                {
                    return(RedirectToAction("Index", "Expense"));
                }
            }
            return(View());
        }
예제 #18
0
        public ActionResult Create(Category model)
        {
            if (ModelState.IsValid)
            {
                //Get user id from session using identity
                ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;
                model.CreatedBy = ident.UserId;
                model.CreatedAt = DateTime.Now;
                var data = _categoryService.Create(model);
                //displays both error and success message depending on statuscode
                ShowStatus(data.StatusCode, data.Status);

                //if insert is successful return to index page else display an error and keep user at create page and diplays error
                if (data.StatusCode == 200)
                {
                    return(RedirectToAction("Index", "Category"));
                }
            }
            return(View(model));
        }
예제 #19
0
        public ActionResult ChangePassword(ChangePasswordViewModel model)
        {
            ExpenseTrackerIdentity ident = User.Identity as ExpenseTrackerIdentity;

            if (ModelState.IsValid)
            {
                if (!_authService.CheckOldPasswordIsCorrect(ident.UserId, model.OldPassword))
                {
                    ModelState.AddModelError("OldPassword", "Old Password is incorrect.");
                }
                else
                {
                    var data = _authService.ChangePassword(model, ident.UserId);
                    ShowStatus(data.StatusCode, data.Status);
                    if (data.StatusCode == 200)
                    {
                        return(RedirectToAction("Index", "Dashboard"));
                    }
                }
            }
            return(View());
        }