public ActionResult CreateUpdateEmployeeLoan(Int32 id)
        {
            var employeeLoanModel = new LoanReceivableFromEmployeeModel();

            employeeLoanModel.Date = DateTime.Now;

            return(PartialView("EmployeeLoanPartial", employeeLoanModel));
        }
        public ActionResult CreateUpdateEmployeeLoan(LoanReceivableFromEmployeeModel employeeLoanModel)
        {
            if (!ModelState.IsValid)
            {
                return(ShowErrorMessage(GetModelErrors(ModelState)));
            }

            var employeeLoan = new LoanReceivableFromEmployee();

            employeeLoan.LoanId        = employeeLoanModel.LoanId;
            employeeLoan.AmountReceive = employeeLoanModel.AmountReceive;
            employeeLoan.AccountId     = employeeLoanModel.AccountId;
            employeeLoan.UserId        = employeeLoanModel.UserId;
            employeeLoan.Date          = employeeLoanModel.Date;

            var userAccount = FarmManagementEntities.TransectionPersonalAccounts.Where(x => x.UserId == employeeLoanModel.UserId)
                              .OrderByDescending(x => x.InsertDate).ToList().First();
            var userPersonalAccount = new TransectionPersonalAccount();

            userPersonalAccount.Credit         = employeeLoanModel.AmountReceive;
            userPersonalAccount.Balance        = userAccount.Balance + employeeLoanModel.AmountReceive;
            userPersonalAccount.Date           = employeeLoanModel.Date;
            userPersonalAccount.InsertDate     = DateTime.Now;
            userPersonalAccount.IsAddedByAdmin = false;
            userPersonalAccount.UserId         = employeeLoanModel.UserId;
            FarmManagementEntities.TransectionPersonalAccounts.Add(userPersonalAccount);

            if (employeeLoanModel.Id == 0)
            {
                employeeLoan.InsertDate = DateTime.Now;
                FarmManagementEntities.LoanReceivableFromEmployees.Add(employeeLoan);
            }

            FarmManagementEntities.SaveChanges();

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

            return(ShowSuccessMessage(message));
        }