public ActionResult Create(Schedule data) { if (data.Amount == 0) { ModelState.AddModelError(nameof(data.Amount), $"Amount can't be zero"); } if (!ModelState.IsValid) { ViewBag.Accounts = new SqlDataServices <Data.Models.Accounts>().GetAll().Where(e => e.Active).OrderBy(e => e.Name); ViewBag.Category = new SqlDataServices <Data.Models.Category>().GetAll().OrderBy(e => e.Type).ThenBy(e => e.Name); ViewBag.Payee = new SqlDataServices <Data.Models.Payee>().GetAll().OrderBy(e => e.Name); return(View()); } try { // TODO: Add insert logic here if (new SqlDataServices <Category>().Get(data.CategoryID).Type == Data.Enums.CategoryType.Expense) { data.Amount *= -1; } db.Add(data.ReverseMapper()); return(RedirectToAction("Index")); } catch { ViewBag.Message = "An Error occured your entry hasn't been saved"; return(RedirectToAction("Index")); } }
public ActionResult Create(Payee data) { if (db.GetAll().Select(e => e.Name).Contains(data.Name)) { ModelState.AddModelError(nameof(data.Name), $"An entry with the Name {data.Name} exists already. Please use a diffrent Name"); } if (!ModelState.IsValid) { var categorylist = new SqlDataServices <Data.Models.Category>().GetAll().OrderBy(e => e.Type).ThenBy(e => e.Name); ViewBag.Category = categorylist; return(View()); } try { // TODO: Add insert logic here db.Add(data.ReverseMapper()); return(RedirectToAction("Index")); } catch { ViewBag.Message = "An Error occured your entry hasn't been saved"; return(RedirectToAction("Index")); } }
public ActionResult Create([Bind(Include = "Name,Type,Active,IncludeTotal,OpeningBalance")] Accounts data) { if (db.GetAll().Select(e => e.Name).Contains(data.Name)) { ModelState.AddModelError(nameof(data.Name), $"An entry with the Name {data.Name} exists already. Please use a diffrent Name"); } if (!ModelState.IsValid) { return(View()); } try { // TODO: Add insert logic here db.Add(data.ReverseMapper()); return(RedirectToAction("Index")); } catch { ViewBag.Message = "An Error occured your entry hasn't been saved"; return(RedirectToAction("Index")); } }
public IActionResult Create(CreateProductViewModel vm) { if (ModelState.IsValid) { Product p = new Product { Name = vm.Name, Details = vm.Details, Type = vm.Type }; _services.Add(p); return(RedirectToAction("Index")); } return(View(vm)); }
public static void AddTransaction() { var todaysSchedule = db.GetAll("NextDueDay", DateTime.Today, "<=").Where(e => e.Frequency != Data.Enums.Frequency.PaidOff); foreach (var item in todaysSchedule) { var transaction = new Transactions { AccountsID = item.AccountsID, CategoryID = item.CategoryID, PayeeID = item.PayeeID, ScheduleID = item.ID, Amount = item.Amount, Date = item.NextDueDay, }; transactionsDb.Add(transaction); switch (item.Frequency) { case Data.Enums.Frequency.Monthly: item.NextDueDay = item.NextDueDay.AddMonths(1); break; case Data.Enums.Frequency.Weekly: item.NextDueDay = item.NextDueDay.AddDays(7); break; case Data.Enums.Frequency.Yearly: item.NextDueDay = item.NextDueDay.AddYears(1); break; case Data.Enums.Frequency.Quarterly: item.NextDueDay = item.NextDueDay.AddMonths(3); break; case Data.Enums.Frequency.OneTimePayment: item.Frequency = Data.Enums.Frequency.PaidOff; break; case Data.Enums.Frequency.EveryTwoWeeks: item.NextDueDay = item.NextDueDay.AddDays(14); break; case Data.Enums.Frequency.EveryFourWeeks: item.NextDueDay = item.NextDueDay.AddDays(28); break; case Data.Enums.Frequency.TwiceMonth: item.NextDueDay = item.NextDueDay.AddDays(14); break; case Data.Enums.Frequency.EveryTwoMonth: item.NextDueDay = item.NextDueDay.AddMonths(2); break; case Data.Enums.Frequency.TwiceYear: item.NextDueDay = item.NextDueDay.AddMonths(6); break; default: break; } if (item.TotalAmount.HasValue) { item.AmountCount = item.AmountCount.GetValueOrDefault() + (item.Amount < 0 ? item.Amount * -1 : item.Amount); } if (item.TotalCount.HasValue) { item.CountCount = item.CountCount.GetValueOrDefault() + 1; } if ((item.EndsOnDate.HasValue && item.NextDueDay > item.EndsOnDate) || (item.TotalAmount.HasValue && item.AmountCount >= item.TotalAmount) || (item.TotalCount.HasValue && item.CountCount >= item.TotalCount)) { item.Frequency = Data.Enums.Frequency.PaidOff; } db.Edit(item.ID, item); } }