public ActionResult SaveRentalPayments(RentalPaymentViewModel model) { if (ModelState.IsValid) { if (model.Id > 0) { var rentalpayment = db.PropertyRentalPayment.FirstOrDefault(x => x.Id == model.Id); if (rentalpayment == null) { return(Json(new { Success = false })); } rentalpayment.Amount = model.Amount; rentalpayment.FrequencyType = model.FrequencyType; rentalpayment.Date = model.Date; db.SaveChanges(); return(Json(new { Success = true, Id = rentalpayment.PropertyId })); } else { var newrentalpayment = new PropertyRentalPayment { PropertyId = model.PropertyId, Amount = model.Amount, FrequencyType = model.FrequencyType, Date = model.Date, }; db.PropertyRentalPayment.Add(newrentalpayment); db.SaveChanges(); return(Json(new { Success = true, NewId = newrentalpayment.Id })); } } else { return(Json(new { Success = false })); } }
public JsonResult UpdateFinance(FinancialModel model) { var status = true; decimal actualTotalRepayment = 0; var message = "Record added successfully"; var data = model; // AddTenantToPropertyModel tenant = new AddTenantToPropertyModel(); //*********** AddNewProperty var user = User.Identity.Name; var login = AccountService.GetLoginByEmail(user); //var newProp = PropertyOwnerService.AddOnboardProperty(login, model); ////*********** AddRepayments var newRepayment = new PropertyRepayment(); newRepayment = PropertyOwnerService.AddOnboardRepayment(login, model.Repayments, model.PropId); decimal _totalRepayment = 0; int _nosWeeks = 0; int _nosFortnights = 0; int _nosMonthly = 0; if (newRepayment != null) { foreach (Service.Models.RepaymentViewModel repayment in model.Repayments) { switch (repayment.FrequencyType) { case 1: // Weekly // find the nos of weeks in datediff(StartDate, EndDate) _nosWeeks = ((newRepayment.EndDate - newRepayment.StartDate) ?? TimeSpan.Zero).Days / 7; // _totalAmount = nos weeks * amount _totalRepayment = _nosWeeks * newRepayment.Amount; break; case 2: // Fortnightly // find the nos of Fortnights in datediff(StartDate, EndDate) _nosFortnights = ((newRepayment.EndDate - newRepayment.StartDate) ?? TimeSpan.Zero).Days / 14; // _totalAmount = nos weeks * amount _totalRepayment = _nosFortnights * newRepayment.Amount; break; case 3: //Monthly // find the nos of Monthls in datediff(StartDate, EndDate) _nosMonthly = ((newRepayment.EndDate - newRepayment.StartDate) ?? TimeSpan.Zero).Days / 30; _totalRepayment = _nosMonthly * newRepayment.Amount; // _totalAmount = nos Monthls * amount break; } actualTotalRepayment += _totalRepayment; } //*****AddExpenses var newExpense = new PropertyExpense(); newExpense = PropertyOwnerService.AddOnboardExpense(login, model.Expenses, model.PropId); //******AddFinancial var newFinancial = new PropertyFinance(); newFinancial = PropertyOwnerService.AddPropertyFinance(login, model, model.PropId, actualTotalRepayment); var newRentalPayment = new PropertyRentalPayment(); // newRentalPayment = PropertyOwnerService.AddOnboardRentalPayment(login, model.RentalPayments, model.PropId); } return(Json(new { success = status, message = message })); }