Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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"));
        }
Exemple #4
0
        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));
        }