Esempio n. 1
0
 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 }));
     }
 }
Esempio n. 2
0
        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 }));
        }