Ejemplo n.º 1
0
        public ComplaintRequestViewModel GetRequest(int requestId, string culture)
        {
            ComplaintRequestViewModel Request = (from req in context.ComplainRequests
                                                 where req.Id == requestId
                                                 join p in context.People on req.EmpId equals p.Id
                                                 select new ComplaintRequestViewModel()
            {
                Id = req.Id,
                RequestDate = req.RequestDate,
                EmpId = req.EmpId,
                Employee = HrContext.TrlsName(p.Title + " " + p.FirstName + " " + p.Familyname, culture),
                ApprovalStatus = req.ApprovalStatus,
                RejectReason = req.RejectReason,
                RejectDesc = req.RejectDesc,
                CancelReason = req.CancelReason,
                CancelDesc = req.CancelDesc,
                Attachments = HrContext.GetAttachments("ComplaintRequest", req.Id),
                CreatedTime = req.CreatedTime,
                CreatedUser = req.CreatedUser,
                ModifiedTime = req.ModifiedTime,
                ModifiedUser = req.ModifiedUser,
                ComplainType = req.ComplainType,
                Description = req.Description,
                Against = req.Against
            }).FirstOrDefault();

            return(Request);
        }
Ejemplo n.º 2
0
        public ActionResult FollowupDetails(int Id, byte Version)
        {
            ViewBag.RejectReason = _hrUnitOfWork.LookUpRepository.GetLookUpCodes("CompRejectReason", Language).Select(a => new { id = a.CodeId, name = a.Title });
            //ViewBag.Employees = _hrUnitOfWork.PeopleRepository.GetActiveEmployees(CompanyId, Language);
            ComplaintRequestViewModel request = _hrUnitOfWork.ComplaintRepository.GetRequest(Id, Language);

            ViewBag.Employees = _hrUnitOfWork.EmployeeRepository.GetActiveEmployees(Language, request.EmpId, CompanyId).Select(a => new { id = a.Id, name = a.Employee, PicUrl = a.PicUrl, Icon = a.EmpStatus }).ToList();
            return(View(request));
        }
        public IHttpActionResult GetComplaint(int id = 0)
        {
            List <FormList> ComplaintType = new List <FormList>();

            ComplaintType.Add(new FormList {
                id = 1, name = MsgUtils.Instance.Trls("Complaint")
            });
            ComplaintType.Add(new FormList {
                id = 2, name = MsgUtils.Instance.Trls("Grievance")
            });
            ComplaintType.Add(new FormList {
                id = 3, name = MsgUtils.Instance.Trls("Enquiry")
            });

            List <FormList> Against = new List <FormList>();

            Against.Add(new FormList {
                id = 1, name = MsgUtils.Instance.Trls("Employee")
            });
            Against.Add(new FormList {
                id = 2, name = MsgUtils.Instance.Trls("Manager")
            });
            Against.Add(new FormList {
                id = 3, name = MsgUtils.Instance.Trls("Procedure")
            });
            Against.Add(new FormList {
                id = 4, name = MsgUtils.Instance.Trls("Decision")
            });
            Against.Add(new FormList {
                id = 5, name = MsgUtils.Instance.Trls("Other")
            });

            var AgainstLst      = Against;
            var ComplainTypeLst = ComplaintType;

            ComplaintRequestViewModel request;

            if (id == 0)
            {
                request = new ComplaintRequestViewModel();
            }
            else
            {
                request = _hrUnitOfWork.ComplaintRepository.ReadComplaint(id);
            }
            if (request == null)
            {
                return(NotFound());
            }
            return(Ok(new { request = request, ComplainTypeLst = ComplainTypeLst, AgainstLst = AgainstLst }));
        }
        public IHttpActionResult SaveComplaint(ComplaintRequestViewModel model)
        {
            List <Model.ViewModel.Error> errors = new List <Model.ViewModel.Error>();

            if (!ModelState.IsValid)
            {
                return(Json(Utils.ParseFormError(ModelState)));
            }

            //  return Ok(ModelState);

            model.EmpId = User.Identity.GetEmpId();
            model.EmpId = 1027;
            ComplainRequest request = _hrUnitOfWork.ComplaintRepository.Get(model.Id);
            string          message = "Ok";

            ///Save
            if (model.Id == 0)
            { /// New
                request = new ComplainRequest();
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source = model, Destination = request
                };
                AutoMapper(parms);
                request.ApprovalStatus = (byte)(model.submit == true ? 2 : 1); //1- New, 2- Submit
                request.CreatedUser    = User.Identity.Name;
                request.CreatedTime    = DateTime.Now;
                request.RequestDate    = DateTime.Now;
                request.CompanyId      = User.Identity.GetDefaultCompany();
                _hrUnitOfWork.ComplaintRepository.Add(request);
            }
            else if (model.ApprovalStatus == 3 || model.ApprovalStatus == 1)
            { /// Edit
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source = model, Destination = request
                };
                AutoMapper(parms);
                if (model.submit)
                {
                    _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel()
                    {
                        ColumnName  = "ApprovalStatus",
                        CompanyId   = User.Identity.GetDefaultCompany(),
                        ObjectName  = "ComplainRequests",
                        SourceId    = request.Id.ToString(),
                        UserName    = User.Identity.Name,
                        Version     = 0,
                        ValueAfter  = MsgUtils.Instance.Trls("Submit"),
                        ValueBefore = MsgUtils.Instance.Trls("Darft")
                    });
                }

                request.ApprovalStatus = (byte)(model.submit == true ? 2 : model.ApprovalStatus); //1- New, 2- Submit
                request.ModifiedUser   = User.Identity.Name;
                request.ModifiedTime   = DateTime.Now;
                request.RequestDate    = DateTime.Now;
                _hrUnitOfWork.ComplaintRepository.Attach(request);
                _hrUnitOfWork.ComplaintRepository.Entry(request).State = EntityState.Modified;
            }

            var Errors = SaveChanges(User.Identity.GetLanguage());

            if (Errors.Count > 0)
            {
                message = Errors.First().errors.First().message;
                return(Ok(message));
            }

            if (model.submit)
            {
                WfViewModel wf = new WfViewModel()
                {
                    Source         = "Complaint" + model.Against,
                    SourceId       = User.Identity.GetDefaultCompany(),
                    DocumentId     = request.Id,
                    RequesterEmpId = request.EmpId,
                    ApprovalStatus = 2,
                    CreatedUser    = User.Identity.Name,
                };
                var wfTrans = _hrUnitOfWork.ComplaintRepository.AddWorkFlow(wf, User.Identity.GetLanguage());
                if (wfTrans == null && wf.WorkFlowStatus != "Success")
                {
                    request.ApprovalStatus = 1;
                    message = wf.WorkFlowStatus;
                }
                else if (wfTrans != null)
                {
                    _hrUnitOfWork.LeaveRepository.Add(wfTrans);
                }
            }

            Errors = SaveChanges(User.Identity.GetLanguage());
            if (Errors.Count > 0)
            {
                message = Errors.First().errors.First().message;
            }

            return(Ok(message));
        }
Ejemplo n.º 5
0
        public ActionResult SaveComplaint(ComplaintRequestViewModel model, OptionsViewModel moreInfo)
        {
            List <Error> errors = new List <Error>();

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "ComplainRequests",
                        TableName    = "ComplainRequests",
                        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)));
            }

            ComplainRequest request = _hrUnitOfWork.ComplaintRepository.Get(model.Id);

            byte version;

            byte.TryParse(Request.Form["version"], out version);
            string message = "OK";

            ///Save
            if (model.Id == 0)
            { /// New
                request = new ComplainRequest();
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source = model, Destination = request, Version = version, ObjectName = "ComplainRequests", Options = moreInfo, Transtype = TransType.Insert
                };
                AutoMapper(parms);
                request.ApprovalStatus = (byte)(model.submit == true ? 2 : 1); //1- New, 2- Submit
                request.CreatedUser    = UserName;
                request.CreatedTime    = DateTime.Now;
                request.RequestDate    = DateTime.Now;
                request.CompanyId      = CompanyId;
                _hrUnitOfWork.ComplaintRepository.Add(request);
            }
            else if (model.ApprovalStatus == 3 || model.ApprovalStatus == 1)
            { /// Edit
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source = model, Destination = request, Version = version, ObjectName = "ComplainRequests", Options = moreInfo, Transtype = TransType.Update
                };
                AutoMapper(parms);
                if (model.submit)
                {
                    _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel()
                    {
                        ColumnName  = "ApprovalStatus",
                        CompanyId   = CompanyId,
                        ObjectName  = "ComplainRequests",
                        SourceId    = request.Id.ToString(),
                        UserName    = UserName,
                        Version     = 0,
                        ValueAfter  = MsgUtils.Instance.Trls("Submit"),
                        ValueBefore = MsgUtils.Instance.Trls("Darft")
                    });
                }

                request.ApprovalStatus = (byte)(model.submit == true ? 2 : model.ApprovalStatus); //1- New, 2- Submit
                request.ModifiedUser   = UserName;
                request.ModifiedTime   = DateTime.Now;
                request.RequestDate    = DateTime.Now;
                request.CompanyId      = CompanyId;
                _hrUnitOfWork.ComplaintRepository.Attach(request);
                _hrUnitOfWork.ComplaintRepository.Entry(request).State = EntityState.Modified;
            }

            var Errors = SaveChanges(Language);

            if (Errors.Count > 0)
            {
                message = Errors.First().errors.First().message;
                return(Json(message));
            }

            if (model.submit)
            {
                var chkWorkFlow = _hrUnitOfWork.Repository <Workflow>().Where(w => w.Source == "Complaint" + model.Against).Select(a => a.IsRequired).FirstOrDefault();
                if (chkWorkFlow == true)
                {
                    WfViewModel wf = new WfViewModel()
                    {
                        Source         = "Complaint" + model.Against,
                        SourceId       = CompanyId,
                        DocumentId     = request.Id,
                        RequesterEmpId = request.EmpId,
                        ApprovalStatus = 2,
                        CreatedUser    = UserName,
                    };

                    var wfTrans = _hrUnitOfWork.ComplaintRepository.AddWorkFlow(wf, Language);
                    if (wfTrans == null && wf.WorkFlowStatus != "Success")
                    {
                        request.ApprovalStatus = 1;
                        message = wf.WorkFlowStatus;
                    }
                    else if (wfTrans != null)
                    {
                        _hrUnitOfWork.LeaveRepository.Add(wfTrans);
                    }
                }
                else
                {
                    request.ApprovalStatus = 1;
                    _hrUnitOfWork.ComplaintRepository.Attach(request);
                    _hrUnitOfWork.ComplaintRepository.Entry(request).State = EntityState.Modified;
                }
            }

            Errors = SaveChanges(Language);
            if (Errors.Count > 0)
            {
                message = Errors.First().errors.First().message;
            }
            else
            {
                message += "," + ((new JavaScriptSerializer()).Serialize(request));
            }

            return(Json(message));
        }
Ejemplo n.º 6
0
        public ActionResult SaveFollowupDetails(ComplaintRequestViewModel model, OptionsViewModel moreInfo)
        {
            List <Error>    Errors  = new List <Error>();
            ComplainRequest request = _hrUnitOfWork.ComplaintRepository.Get(model.Id);

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    Errors = _hrUnitOfWork.LeaveRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "ComplaintReqFollowUpForm",
                        TableName    = "ComplainRequests",
                        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  = "ComplaintReqFollowUpForm",
                Options     = moreInfo,
                Transtype   = TransType.Update
            });

            if (request.ApprovalStatus != 9)
            {
                request.RejectDesc   = null;
                request.RejectReason = null;
            }

            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.ComplaintRepository.Attach(request);
            _hrUnitOfWork.ComplaintRepository.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"));
        }