public IHttpActionResult GetMedicalRequest(int id = 0) { var Medical = _hrUnitOfWork.MedicalRepository.ReadMedical(id); IEnumerable BeneficiaryId = null; IEnumerable Services = null; //if (User.Identity.IsSelfServiceUser()) //{ int EmpId = User.Identity.GetEmpId(); BeneficiaryId = _hrUnitOfWork.Repository <EmpRelative>().Where(a => a.EmpId == 1034).Select(p => new { id = p.Id, name = p.Name }).ToList(); //} if (Medical != null) { BeneficiaryId = _hrUnitOfWork.Repository <EmpRelative>().Where(a => a.EmpId == Medical.EmpId).Select(p => new { id = p.Id, name = p.Name }).ToList(); Services = _hrUnitOfWork.MedicalRepository.GetAllservice(Medical.EmpId, Medical.BenefitId, Medical.BeneficiaryId); } var Providers = _hrUnitOfWork.MedicalRepository.GetAllProvider(); var Currency = _hrUnitOfWork.LookUpRepository.GetCurrencyCode(); var BenefitClass = _hrUnitOfWork.LookUpRepository.GetLookUpCodes("BenefitClass", User.Identity.GetLanguage()).Select(a => new { id = a.CodeId, name = a.Title }); // string culture = User.Identity.GetLanguage(); //List<string> columns = _hrUnitOfWork.LeaveRepository.GetAutoCompleteColumns("MedicalRequestsForm", User.Identity.GetDefaultCompany(), Version); //if (columns.FirstOrDefault(fc => fc == "EmpId") == null) // var Employees = _hrUnitOfWork.EmployeeRepository.GetActiveEmployees(User.Identity.GetLanguage(), Medical != null ? Medical.EmpId : 0, User.Identity.GetDefaultCompany()).Select(a => new { id = a.Id, name = a.Employee, PicUrl = a.PicUrl, Icon = a.EmpStatus }).ToList(); if (id == 0) { Medical = new MedicalRequestViewModel(); } return(Ok(new { request = Medical, Currency = Currency, Providers = Providers, BeneficiaryId = BeneficiaryId, Services = Services, BenefitClass = BenefitClass })); }
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)); }