public async Task <IActionResult> Submit(SubmitSelected model) { //checked if data have changed SettlementTypes CurSettl = _context.SettlementTypes .Where(c => c.ID.Equals(model.SettlementType)) .SingleOrDefault(); if (CurSettl == null) { return(NotFound(HttpStatusCode.NoContent + "\nΣφάλμα\nΔεν έχετε επιλέξει υπαρκτό τύπο διακανονισμού!")); } if (model.MaxNoOfInstallments == 0 || model.MaxNoOfInstallments > CurSettl.MaxNoInstallments) { return(NotFound(HttpStatusCode.NoContent + "\nΣφάλμα!\nΟ αριθμός δόσεων δεν συνάδει με αυτόν που προβλέπει ο διακανονισμός !")); } Settlements NewSettlement = new Settlements(); NewSettlement.RequestDate = DateTime.Now; NewSettlement.AnswerDate = DateTime.ParseExact("19000101", "yyyyMMdd", CultureInfo.InvariantCulture); NewSettlement.DownPayment = CurSettl.DownPaymentPercentage; NewSettlement.Installments = model.MaxNoOfInstallments; NewSettlement.Interest = CurSettl.Interest; NewSettlement.IsAccepted = 0; NewSettlement.SettlementTypeId = model.SettlementType; _context.Settlements.Add(NewSettlement); await _context.SaveChangesAsync(); int NewSettlementId = NewSettlement.ID; string[] BillIds; BillIds = model.BillsStr.Split(','); for (var i = 0; i < BillIds.Length - 1; i++) { var cols = _context.Bills .Where(w => w.ID == Int32.Parse(BillIds[i])); foreach (var b in cols) { b.Status = 2; b.SettlementId = NewSettlementId; } await _context.SaveChangesAsync(); } return(DDAjaxBack(model)); }
public IActionResult DDAjax2(SubmitSelected model) { SettlementTypes CurSettl = _context.SettlementTypes .Where(c => c.ID.Equals(model.SettlementType)) .SingleOrDefault(); model.Interest = CurSettl.Interest; model.DownPayment = CurSettl.DownPaymentPercentage; model.DownPaymentValue = Math.Round(model.TotalAmount * CurSettl.DownPaymentPercentage / 100, 2); model.Monthly = Math.Round(MonthlyInstallments(model.TotalAmount, model.SettlementType, model.MaxNoOfInstallments), 2); model.SettlText = "Βάσει των επιλογών σας ο διακανονισμός προβλέπει προκαταβολή " + model.DownPaymentValue + "€ και " + model.MaxNoOfInstallments + " μηνιαίες δόσεις ποσού " + model.Monthly + "€."; return(DDAjaxBack(model)); }
public async Task <JsonResult> DDAjax1(SubmitSelected model) { var SType = await _context.SettlementTypes .Where(c => c.ID.Equals(model.SettlementType)) .SingleOrDefaultAsync(); List <int> NoInstallments = new List <int>(); NoInstallments.Add(0); for (var m = 3; m <= SType.MaxNoInstallments; m += 3) { NoInstallments.Add(m); } return(Json(NoInstallments)); }
public async Task <IActionResult> SubmitSelected(BillSelectionViewModel model) { var selectedIds = model.getSelectedIds(); var userid = _userManager.GetUserId(User); var user = GetCurrentUserAsync(); var applicationDbContext = _context.Bills.Include(b => b.ApplicationUser) .Include(b => b.PaymentMethods) .Include(b => b.Settlement) .Where(b => b.UserId == userid); var db = await applicationDbContext.ToListAsync(); if (db.Count() == 0) { return(NotFound(HttpStatusCode.NoContent + "\nΣφάλμα\nΔεν έχετε εκκρεμείς λογαριασμούς!</b>")); } decimal amount = 0; var selectedBill = from x in db where selectedIds.Contains(x.ID) select x; if (selectedBill.Count() == 0) { return(NotFound(HttpStatusCode.NoContent + "\nΣφάλμα\nΔεν έχετε επιλέξει λογαριασμούς!")); } foreach (var bill in selectedBill) { amount += bill.Amount; System.Diagnostics.Debug.WriteLine(bill.ID + " " + bill.Bill_description + " " + bill.Amount.ToString()); } model.TotalAmount = amount; System.Diagnostics.Debug.WriteLine(model.TotalAmount.ToString()); var SetTypeDD = _context.SettlementTypes .OrderBy(c => c.Code) .Select(x => new { Id = x.ID, Value = x.Code }); // .Select(x => new { Id = x.ID, Value = x.Code+ " " +x.Interest+" " +x.MaxNoInstallments }); List <int> Installments = new List <int>() { }; SubmitSelected model2 = new SubmitSelected { Bills = selectedBill, TotalAmount = model.TotalAmount, Interest = 0, IsAccepted = 0, DownPayment = 0 }; foreach (var i in selectedIds) { model2.BillsStr = model2.BillsStr + i + ","; } model2.SettlementTypes = new SelectList(SetTypeDD, "Id", "Value"); model2.Installments = new SelectList(Installments); model2.SettlementTypesEnum = _context.SettlementTypes .OrderBy(c => c.Code) .AsEnumerable(); return(View(model2)); }
private JsonResult DDAjaxBack(SubmitSelected model) { return(Json(model)); }