public ActionResult CreateUpdateLoanManagement(LoanManagementModel loanManagementModel)
        {
            if (!ModelState.IsValid)
            {
                return(ShowErrorMessage(GetModelErrors(ModelState)));
            }

            var loanManagement = new LoanManagement();

            if (loanManagementModel.Id > 0)
            {
                loanManagement = FarmManagementEntities.LoanManagements.Single(x => x.Id == loanManagementModel.Id);
            }

            loanManagement.UserId          = loanManagementModel.EmployeeId;
            loanManagement.LoanAmount      = loanManagementModel.LoanAmount;
            loanManagement.NoOfInstallment = loanManagementModel.NoOfInstallment;
            loanManagement.PerMonthOrYear  = loanManagementModel.PerMonthOrYear;
            loanManagement.LoanStartDate   = loanManagementModel.LoanStartDate;
            loanManagement.LoanEndDate     = loanManagementModel.LoanEndDate;
            loanManagement.IntersetRate    = Convert.ToDecimal(loanManagementModel.IntersetRate);
            loanManagement.Description     = loanManagementModel.Description;
            loanManagement.DebtSalary      = loanManagementModel.DebtSalary;

            loanManagement.DeductedSalary = "0";

            //if (loanManagement.DebtSalary != null && (bool)loanManagement.DebtSalary)
            //{
            //    if (loanManagement.User.Salary != null)
            //        loanManagement.DeductedSalary = ((loanManagementModel.LoanAmount - decimal.Parse(loanManagement.User.Salary)) * 1).ToString();
            //}

            loanManagement.Status = loanManagementModel.LoanStatus.ToNullIfEmptyEnum <LoanStatus>();

            if (loanManagementModel.Id == 0)
            {
                loanManagement.InsertDate = DateTime.Now;
                FarmManagementEntities.LoanManagements.Add(loanManagement);
            }
            else
            {
                loanManagement.UpdateDate = DateTime.Now;
            }

            FarmManagementEntities.SaveChanges();

            var message = string.Format(Constant.SuccessMessage, loanManagementModel.Id > 0 ? "updated" : "added");

            return(ShowSuccessMessage(message));
        }
        public ActionResult CreateUpdateLoanManagement(Int32 id, bool isTempEmployee)
        {
            var loanManagementModel = new LoanManagementModel();

            loanManagementModel.LoanStartDate = loanManagementModel.LoanEndDate = DateTime.Now;

            if (id > 0)
            {
                var loanManagement = FarmManagementEntities.LoanManagements.Single(x => x.Id == id);
                loanManagementModel            = loanManagement.ToType <LoanManagement, LoanManagementModel>();
                loanManagementModel.EmployeeId = loanManagement.UserId;

                loanManagementModel.LoanStatus = Convert.ToInt32(loanManagement.Status.ParseEnum <LoanStatus>());
            }

            loanManagementModel.IsTemporaryEmployee = isTempEmployee;
            return(PartialView("PermanentEmployeeLoanPartial", loanManagementModel));
        }