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); }
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)); }
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)); }
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")); }