public ActionResult Details(int id = 0, byte Version = 0) { if (!_hrUnitOfWork.LeaveRepository.CheckAutoCompleteColumn("PayRequest", CompanyId, Version, "EmpId")) { ViewBag.Employees = _hrUnitOfWork.PeopleRepository.GetActiveEmployees(CompanyId, Language); } ViewBag.Payroll = _hrUnitOfWork.PayrollRepository.GetPayrollList(CompanyId, Language); ViewBag.Formula = _hrUnitOfWork.PayrollRepository.GetFormulaList(CompanyId, Language); ViewBag.SalaryItems = _hrUnitOfWork.PayrollRepository.GetSalaryItemList(CompanyId, Language); ViewBag.BankId = _hrUnitOfWork.PayrollRepository.GetBankList().Select(a => new { value = a.id, text = a.name }); if (id == 0) { int requestNo = _hrUnitOfWork.PayrollRepository.NextRequestNo(CompanyId); return(View(new PayRequestViewModel() { ApprovalStatus = 1, PayPercent = 100, RequestNo = requestNo })); } PayRequestViewModel request = _hrUnitOfWork.PayrollRepository.GetPayRequestVM(id, Language); return(request == null ? (ActionResult)HttpNotFound() : View(request)); }
public ActionResult FollowUpDetails(int id = 0) { PayRequestViewModel request = _hrUnitOfWork.PayrollRepository.GetPayRequestVM(id, Language); ViewBag.Payroll = _hrUnitOfWork.PayrollRepository.GetPayrollList(CompanyId, Language); ViewBag.Formula = _hrUnitOfWork.PayrollRepository.GetFormulaList(CompanyId, Language); ViewBag.SalaryItems = _hrUnitOfWork.PayrollRepository.GetSalaryItemList(CompanyId, Language); ViewBag.BankId = _hrUnitOfWork.PayrollRepository.GetBankList().Select(a => new { value = a.id, text = a.name }); return(View(request)); }
public ActionResult FollowUpDetails(PayRequestViewModel model, OptionsViewModel moreInfo, byte version) { List <Error> Errors = new List <Error>(); PayRequest request = _hrUnitOfWork.PayrollRepository.GetRequest(model.Id); if (ModelState.IsValid) { if (ServerValidationEnabled) { Errors = _hrUnitOfWork.PayrollRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "PayFollowUpDetails", TableName = "PayRequests", Columns = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))), ParentColumn = "CompanyId", Culture = Language }); if (Errors.Count() > 0) { foreach (var e in Errors) { foreach (var errorMsg in e.errors) { ModelState.AddModelError(errorMsg.field, errorMsg.message); } } return(Json(Models.Utils.ParseFormErrors(ModelState))); } } } else { return(Json(Models.Utils.ParseFormErrors(ModelState))); } AutoMapper(new Models.AutoMapperParm { Destination = request, Source = model, ObjectName = "PayRequest", Options = moreInfo, Transtype = TransType.Update }); if (request.ApprovalStatus != 9) { request.RejectDesc = null; request.RejectReason = null; } request.PayPercent /= 100; request.ModifiedTime = DateTime.Now; request.ModifiedUser = UserName; if (request.ApprovalStatus == 5 || request.ApprovalStatus == 9) //Accepted or Rejected { string msg = AddWFTrans(request, null, null); if (msg.Length > 0) { return(Json(msg)); } } _hrUnitOfWork.PayrollRepository.Attach(request); _hrUnitOfWork.PayrollRepository.Entry(request).State = EntityState.Modified; Errors = SaveChanges(Language); if (Errors.Count > 0) { var message = Errors.First().errors.First().message; return(Json(message)); } return(Json("OK")); }
public ActionResult Details(PayRequestViewModel model, IEnumerable <PayRequestEmpsViewModel> grid1, OptionsViewModel moreInfo, byte version) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.PayrollRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "PayRequest", TableName = "PayRequests", Columns = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))), ParentColumn = "CompanyId", Culture = Language }); if (errors.Count() > 0) { foreach (var e in errors) { foreach (var errorMsg in e.errors) { ModelState.AddModelError(errorMsg.field, errorMsg.message); } } return(Json(Models.Utils.ParseFormErrors(ModelState))); } } } else { return(Json(Models.Utils.ParseFormErrors(ModelState))); } PayRequest payRequest = _hrUnitOfWork.PayrollRepository.GetRequest(model.Id); if (model.Id == 0) { //Add payRequest = new PayRequest(); AutoMapper(new Models.AutoMapperParm { Source = model, Destination = payRequest, Version = version, ObjectName = "PayRequest", Options = moreInfo, Transtype = TransType.Insert }); payRequest.ApprovalStatus = (byte)(model.submit ? 2 : model.ApprovalStatus); //1. New, 2. Submit payRequest.PayPercent /= 100; payRequest.CreatedTime = DateTime.Now; payRequest.CreatedUser = UserName; _hrUnitOfWork.PayrollRepository.Add(payRequest); } else { //Edit AutoMapper(new Models.AutoMapperParm { Source = model, Destination = payRequest, Version = version, ObjectName = "PayRequest", Options = moreInfo, Transtype = TransType.Update }); payRequest.ApprovalStatus = (byte)(model.submit ? 2 : model.ApprovalStatus); //1. New, 2. Submit payRequest.PayPercent /= 100; payRequest.ModifiedTime = DateTime.Now; payRequest.ModifiedUser = UserName; _hrUnitOfWork.PayrollRepository.Attach(payRequest); _hrUnitOfWork.PayrollRepository.Entry(payRequest).State = EntityState.Modified; } errors = SaveGrid1(grid1, ModelState.Where(a => a.Key.Contains("grid1")), payRequest); if (errors.Count > 0) { return(Json(errors.First().errors.First().message)); } string message = "OK"; var Errors = SaveChanges(Language); if (Errors.Count > 0) { message = Errors.First().errors.First().message; return(Json(message)); } if (model.submit) { var wfErrors = AddWFTrans(payRequest, null, null); if (!String.IsNullOrEmpty(wfErrors)) { payRequest.ApprovalStatus = 1; message += "," + (new JavaScriptSerializer()).Serialize(new { model = payRequest, error = wfErrors }); _hrUnitOfWork.PayrollRepository.Attach(payRequest); _hrUnitOfWork.PayrollRepository.Entry(payRequest).State = EntityState.Modified; } } Errors = SaveChanges(Language); if (Errors.Count > 0) { message = Errors.First().errors.First().message; } return(Json(message)); }