public ActionResult PersonPayrollDeduction(PayrollPersonPayInputViewModel vm)
        {
            vm.PersonName = this.unitOfWork.PersonPrimaryInfoRepository.GetByID(vm.PersonPrimaryInfoID).LastFirstName;

            vm.PayrollDeductionAccounts = this.unitOfWork.PayrollDeductionAccountRepository
                 .Get(x => x.Active && (x.PersonPrimaryInfoID == null || x.PersonPrimaryInfoID == vm.PersonPrimaryInfoID))
                 .Select(x => new SelectListItem() { Text = x.Title, Value = x.PayrollDeductionAccountID.ToString(), Selected = (x.PersonPrimaryInfoID == vm.PersonPrimaryInfoID) || x.DefaultAccount }).ToArray();

            return View(SetupPayrollPersonPayInputViewModel(vm));
        }
        public ActionResult BuildPersonPayrollDeductionTransaction(PayrollPersonPayInputViewModel vm)
        {
            if (ModelState.IsValid)
            {
                PayrollPersonTransaction model = new PayrollPersonTransaction();
                model.Active = true;
                model.GrossSalary = vm.GrossSalary.GetValueOrDefault();
                model.PersonPrimaryInfoID = vm.PersonPrimaryInfoID.GetValueOrDefault();
                model.PayrollDeductionAccounts = this.unitOfWork.PayrollDeductionAccountRepository.Get().Where(x => vm.PayrollDeductionAccounts.Any(d => Convert.ToInt32(d.Value) == x.PayrollDeductionAccountID)).ToArray();

                this.unitOfWork.PayrollPersonTransactionRepository.Insert(model);
                this.unitOfWork.Save();

                return RedirectToAction("Index");
            }

            return View(SetupPayrollPersonPayInputViewModel(vm));
        }
 private PayrollPersonPayInputViewModel SetupPayrollPersonPayInputViewModel(PayrollPersonPayInputViewModel vm)
 {
     vm.People = this.unitOfWork.PersonPrimaryInfoRepository.PeopleSelectList(vm.PersonPrimaryInfoID);
     return vm;
 }
        public ActionResult PersonPayInput()
        {
            PayrollPersonPayInputViewModel vm = new PayrollPersonPayInputViewModel();

            return View(SetupPayrollPersonPayInputViewModel(vm));
        }