Exemple #1
0
        public ActionResult SaveIncome(string source, string type, string amount, string date)
        {
            var accountId = HttpContext.Session.Get <long>(SessionHelper.SessionKeyAccountId);

            if (accountId == default)
            {
                return(RedirectToAction("Login", "Account", new { id = LoginHelper.BudgetApp }));
            }

            if (string.IsNullOrWhiteSpace(source))
            {
                return(Json(new { status = false, message = "Source is required" }));
            }
            if (string.IsNullOrWhiteSpace(type))
            {
                return(Json(new { status = false, message = "Type is required" }));
            }
            if (string.IsNullOrWhiteSpace(amount))
            {
                return(Json(new { status = false, message = "Amount is required" }));
            }
            if (!decimal.TryParse(amount, out decimal amountValue))
            {
                return(Json(new { status = false, message = "Amount is required" }));
            }
            if (string.IsNullOrWhiteSpace(date))
            {
                return(Json(new { status = false, message = "Date is required" }));
            }
            if (!DateTime.TryParse(date, out DateTime dateValue))
            {
                return(Json(new { status = false, message = "Date is required" }));
            }

            var sourceId = IncomeSourceHelper.GetOrAddIncomeSourceId(source);
            var typeId   = IncomeTypeHelper.GetIncomeTypeId(type);

            IncomeRepository.AddIncome(accountId, sourceId, typeId, amountValue, dateValue);
            return(Json(new { status = true, message = "Income Added" }));
        }
 public AddIncomeModel(long accountId)
 {
     IncomeSources = IncomeSourceHelper.GetIncomeSourceNames(accountId);
     Types         = IncomeTypeHelper.GetIncomeTypeNames();
 }