public ActionResult DeleteMedical(int id) { var message = "OK"; List <Error> errors = new List <Error>(); BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(id); if (request.ApprovalStatus == 1) { AutoMapper(new Models.AutoMapperParm { Source = request, ObjectName = "MedRequest", Transtype = TransType.Delete }); _hrUnitOfWork.MedicalRepository.Remove(request); } errors = SaveChanges(Language); if (errors.Count() > 0) { message = errors.First().errors.First().message; return(Json(message)); } else { return(Json(message)); } }
//Send to function public ActionResult SendTo(int Id, byte?Send, int?ManagerId) { BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(Id); string error = ""; if (Send == 1) { _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel() { ColumnName = "ApprovalStatus", CompanyId = CompanyId, ObjectName = "MedicalReqFollowUpForm", SourceId = Id.ToString(), UserName = UserName, Version = Convert.ToByte(Request.Form["Version"]), ValueAfter = MsgUtils.Instance.Trls("EmployeeReview"), ValueBefore = MsgUtils.Instance.Trls("Submit") }); request.ApprovalStatus = 3; error = AddWFTrans(request, null, true); } else if (Send == 2) { _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel() { ColumnName = "ApprovalStatus", CompanyId = CompanyId, ObjectName = "MedicalReqFollowUpForm", SourceId = Id.ToString(), UserName = UserName, Version = Convert.ToByte(Request.Form["Version"]), ValueAfter = MsgUtils.Instance.Trls("ManagerReview"), ValueBefore = MsgUtils.Instance.Trls("Submit") }); request.ApprovalStatus = 4; error = AddWFTrans(request, ManagerId, null); } if (error.Length > 0) { return(Json(error)); } _hrUnitOfWork.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.Entry(request).State = EntityState.Modified; var Errors = SaveChanges(Language); if (Errors.Count > 0) { var message = Errors.First().errors.First().message; return(Json(message)); } return(Json("Ok")); }
public ActionResult CancelAccepted(int Id, short?Reason, string Desc) { string message = "Ok"; BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(Id); _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel() { ColumnName = "CancelReason", CompanyId = CompanyId, ObjectName = "MedicalReqFollowUpForm", SourceId = Id.ToString(), UserName = UserName, Version = Convert.ToByte(Request.Form["Version"]), ValueAfter = _hrUnitOfWork.LookUpRepository.GetLookUpCodes("MedCancelReason", Language).Where(a => a.CodeId == Reason).Select(b => b.Title).FirstOrDefault(), ValueBefore = _hrUnitOfWork.LookUpRepository.GetLookUpUserCodes("MedCancelReason", Language).Where(a => a.CodeId == request.CancelReason).Select(b => b.Title).FirstOrDefault() }); _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel() { ColumnName = "CancelDesc", CompanyId = CompanyId, ObjectName = "MedicalReqFollowUpForm", SourceId = Id.ToString(), UserName = UserName, Version = Convert.ToByte(Request.Form["Version"]), ValueAfter = Desc, ValueBefore = request.CancelDesc }); _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel() { ColumnName = "ApprovalStatus", CompanyId = CompanyId, ObjectName = "MedicalReqFollowUpForm", SourceId = Id.ToString(), UserName = UserName, Version = Convert.ToByte(Request.Form["Version"]), ValueAfter = MsgUtils.Instance.Trls("Cancel after approved"), ValueBefore = MsgUtils.Instance.Trls("Accepted") }); request.CancelDesc = Desc; request.CancelReason = Reason; request.ApprovalStatus = 8; _hrUnitOfWork.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.Entry(request).State = EntityState.Modified; var Errors = SaveChanges(Language); if (Errors.Count > 0) { message = Errors.First().errors.First().message; return(Json(message)); } return(Json("Ok")); }
private string AddWFTrans(BenefitRequest request, int?ManagerId, bool?backToEmp) { WfViewModel wf = new WfViewModel() { Source = "Medical", SourceId = CompanyId, DocumentId = request.Id, RequesterEmpId = request.EmpId, ApprovalStatus = request.ApprovalStatus, CreatedUser = UserName, }; if (ManagerId != null) { wf.ManagerId = ManagerId; } else if (backToEmp != null) { wf.BackToEmployee = backToEmp.Value; } var wfTrans = _hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, Language); request.WFlowId = wf.WFlowId; if (wfTrans == null && wf.WorkFlowStatus != "Success") { return(wf.WorkFlowStatus); } else if (wfTrans == null && wf.WorkFlowStatus == "Success") { request.ApprovalStatus = 6; } else { _hrUnitOfWork.LeaveRepository.Add(wfTrans); } return(""); }
public IHttpActionResult Delete(int id) { string message = "Ok"; DataSource <MedicalIndexViewModel> Source = new DataSource <MedicalIndexViewModel>(); BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(id); if (request.ApprovalStatus == 1) { _hrUnitOfWork.MedicalRepository.Remove(request); } else { message = "CantDelete"; } Source.Errors = SaveChanges(User.Identity.GetLanguage()); if (Source.Errors.Count() > 0) { return(Ok(Source)); } else { return(Ok(message)); } }
public ActionResult SaveBenefitSettlement(BenefitRequestFollowUp model, OptionsViewModel moreInfo) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "acceptedMedical", TableName = "BenefitRequests", 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))); } BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(model.Id); byte version; byte.TryParse(Request.Form["version"], out version); string message = "OK"; var benefitplanId = _hrUnitOfWork.MedicalRepository.GetBenefitPlanId(model.ParentId, model.EmpId, model.BeneficiaryId); if (request == null) { /// New request = new BenefitRequest(); AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = request, Version = version, ObjectName = "acceptedMedical", Options = moreInfo, Transtype = TransType.Insert }; AutoMapper(parms); request.ApprovalStatus = 6; request.CreatedUser = UserName; request.CreatedTime = DateTime.Now; request.RequestDate = DateTime.Now; request.BenefitPlanId = benefitplanId; request.CompanyId = CompanyId; if (model.IssueDate != null) { var Subperiod = _hrUnitOfWork.MedicalRepository.GetMedicalPeriodId(benefitplanId, (DateTime)model.IssueDate); request.SubPeriodId = Subperiod; } _hrUnitOfWork.MedicalRepository.Add(request); } else if (request != null) { /// Edit AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = request, Version = version, ObjectName = "MedicalRequestsForm", Options = moreInfo, Transtype = TransType.Update }; AutoMapper(parms); request.ApprovalStatus = model.ApprovalStatus; request.ModifiedUser = UserName; request.ModifiedTime = DateTime.Now; request.RequestDate = model.RequestDate; if (request.SubPeriodId == null) { var coverageAmount = _hrUnitOfWork.Repository <BenefitPlan>().Where(a => a.Id == request.BenefitPlanId).Select(a => a.CoverAmount).FirstOrDefault(); var coverAmount = coverageAmount == null ? 0 : coverageAmount; } else { } _hrUnitOfWork.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.Entry(request).State = System.Data.Entity.EntityState.Modified; } var Errors = SaveChanges(Language); if (Errors.Count > 0) { message = Errors.First().errors.First().message; return(Json(message)); } return(Json(message)); }
public ActionResult SaveFollowupDetails(BenefitRequestFollowUp model, OptionsViewModel moreInfo) { List <Error> Errors = new List <Error>(); int periodId = 0; BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(model.Id); if (ModelState.IsValid) { if (ServerValidationEnabled) { Errors = _hrUnitOfWork.LeaveRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "MedicalReqFollowUpForm", TableName = "MedicalRequests", 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))); } if (model.IssueDate != null) { var period = _hrUnitOfWork.MedicalRepository.GetMedicalPeriodId(request.BenefitPlanId, (DateTime)model.IssueDate); //if (period != 0) //{ periodId = period; //} //else //{ // ModelState.AddModelError("IssueDate", MsgUtils.Instance.Trls("Periodnotdefined")); // return Json(Models.Utils.ParseFormErrors(ModelState)); //} } AutoMapper(new Models.AutoMapperParm { Destination = request, Source = model, ObjectName = "MedicalReqFollowUpForm", Options = moreInfo, Transtype = TransType.Update }); if (request.ApprovalStatus != 9) { request.RejectDesc = null; request.RejectReason = null; } request.ModifiedTime = DateTime.Now; request.ModifiedUser = UserName; if (periodId != 0) { request.SubPeriodId = periodId; } if (request.ApprovalStatus == 5 || request.ApprovalStatus == 9) //Accepted or Rejected { string msg = AddWFTrans(request, null, null); if (msg.Length > 0) { return(Json(msg)); } } _hrUnitOfWork.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.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 SaveMedical(MedicalRequestViewModel model, OptionsViewModel moreInfo) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "MedicalRequestsForm", TableName = "MedicalRequests", 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))); } BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(model.Id); byte version; byte.TryParse(Request.Form["version"], out version); string message = "OK"; var benefitplanId = _hrUnitOfWork.MedicalRepository.GetBenefitPlanId(model.ParentId, model.EmpId, model.BeneficiaryId); ///Save if (model.Id == 0) { /// New request = new BenefitRequest(); AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = request, Version = version, ObjectName = "MedicalRequestsForm", Options = moreInfo, Transtype = TransType.Insert }; AutoMapper(parms); request.BenefitPlanId = benefitplanId; 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.MedicalRepository.Add(request); } else if (model.ApprovalStatus == 3 || model.ApprovalStatus == 1) { /// Edit AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = request, Version = version, ObjectName = "MedicalRequestsForm", 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.BenefitPlanId = benefitplanId == 0 ? model.BenefitPlanId : benefitplanId; request.ApprovalStatus = (byte)(model.submit == true ? 2 : model.ApprovalStatus); //1- New, 2- Submit request.ModifiedUser = UserName; request.ModifiedTime = DateTime.Now; request.RequestDate = DateTime.Now; _hrUnitOfWork.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.Entry(request).State = System.Data.Entity.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 == "Medical").Select(a => a.IsRequired).FirstOrDefault(); if (chkWorkFlow == true) { WfViewModel wf = new WfViewModel() { Source = "Medical", 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; _hrUnitOfWork.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.Entry(request).State = System.Data.Entity.EntityState.Modified; message = wf.WorkFlowStatus; } else if (wfTrans != null) { _hrUnitOfWork.LeaveRepository.Add(wfTrans); } } } else { request.ApprovalStatus = 1; _hrUnitOfWork.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.Entry(request).State = System.Data.Entity.EntityState.Modified; } Errors = SaveChanges(Language); if (Errors.Count > 0) { message = Errors.First().errors.First().message; } return(Json(message)); }
public IHttpActionResult SaveMedRequests(MedicalRequestViewModel model) { List <Model.ViewModel.Error> errors = new List <Model.ViewModel.Error>(); if (!ModelState.IsValid) { return(Json(Utils.ParseFormError(ModelState))); } string message = "Ok"; model.EmpId = User.Identity.GetEmpId(); model.EmpId = 1034; BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(model.Id); var benefitplanId = _hrUnitOfWork.MedicalRepository.GetBenefitPlanId(model.ParentId, model.EmpId, model.BeneficiaryId); ///Save if (model.Id == 0) { /// New request = new BenefitRequest(); AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = request }; AutoMapper(parms); request.BenefitPlanId = benefitplanId; 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.MedicalRepository.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.BenefitPlanId = benefitplanId == 0 ? model.BenefitPlanId : benefitplanId; 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.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.Entry(request).State = System.Data.Entity.EntityState.Modified; } var Errors = SaveChanges(User.Identity.GetLanguage()); if (Errors.Count > 0) { message = Errors.First().errors.First().message; return(Json(message)); } if (model.submit) { WfViewModel wf = new WfViewModel() { Source = "Medical", 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; _hrUnitOfWork.MedicalRepository.Attach(request); _hrUnitOfWork.MedicalRepository.Entry(request).State = System.Data.Entity.EntityState.Modified; 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(Json(message)); }