public ActionResult WorkFlow(string source, int sourceid) { var reqestwf = _hrUnitOfWork.LeaveRepository.ReadRequestWF(sourceid, source, Language); if (reqestwf == null) { reqestwf = new RequestWfFormViewModel(); reqestwf.Source = source; reqestwf.SourceId = sourceid; reqestwf.Roles = _hrUnitOfWork.LeaveRepository.GetOrgChartRoles(Language); reqestwf.Diagrams = _hrUnitOfWork.Repository <Diagram>().Select(a => new FormDropDown { id = a.Id, name = a.Name }).ToList(); } ViewBag.HeirTypeList = new SelectList(new List <FormDropDown> { new FormDropDown { id = 1, name = MsgUtils.Instance.Trls("Org Chart") }, new FormDropDown { id = 2, name = MsgUtils.Instance.Trls("Org Chart Hierarchy") }, new FormDropDown { id = 3, name = MsgUtils.Instance.Trls("Position Hierarchy") }, new FormDropDown { id = 4, name = MsgUtils.Instance.Trls("Direct Manager Hierarchy") } }, "id", "name", reqestwf.HeirType); ViewBag.WaitAction = new SelectList(new List <FormDropDown> { new FormDropDown { id = 1, name = MsgUtils.Instance.Trls("Foreword to next step") }, new FormDropDown { id = 2, name = MsgUtils.Instance.Trls("Back to previous step") }, new FormDropDown { id = 3, name = MsgUtils.Instance.Trls("Back to requester") } }, "id", "name", reqestwf.TimeOutAction); return(PartialView("_WorkFlow", reqestwf)); }
public ActionResult RequestDetails(RequestWfFormViewModel model, OptionsViewModel moreInfo, WfRoleWfVM grid1) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.SiteRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "RequestWfs", TableName = "RequestWf", Columns = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))), 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))); } } RequestWf record; //insert if (model.Id == 0) { record = new RequestWf(); AutoMapper(new Models.AutoMapperParm { Destination = record, Source = model, ObjectName = "RequestWfs", Options = moreInfo, Transtype = TransType.Insert }); record.CreatedUser = UserName; record.CreatedTime = DateTime.Now; if (model.HeirType != 3) { record.Hierarchy = null; } _hrUnitOfWork.LeaveRepository.Add(record); } //update else { record = _hrUnitOfWork.Repository <RequestWf>().FirstOrDefault(a => a.Id == model.Id); AutoMapper(new Models.AutoMapperParm { Destination = record, Source = model, ObjectName = "RequestWfs", Version = 0, Options = moreInfo, Transtype = TransType.Update }); record.ModifiedTime = DateTime.Now; record.ModifiedUser = UserName; if (model.HeirType != 3) { record.Hierarchy = null; } _hrUnitOfWork.LeaveRepository.Attach(record); _hrUnitOfWork.LeaveRepository.Entry(record).State = EntityState.Modified; } errors = SaveGrid1(grid1, ModelState.Where(a => a.Key.Contains("grid1")), record); if (errors.Count > 0) { return(Json(errors.First().errors.First().message)); } errors = SaveChanges(Language); if (errors.Count > 0) { return(Json(errors.First().errors.First().message)); } model.Id = record.Id; // clear cache Response.RemoveOutputCacheItem(Url.Action("WorkFlow", "LeaveType")); return(Json("OK," + ((new JavaScriptSerializer()).Serialize(model)))); } return(Json(Models.Utils.ParseFormErrors(ModelState))); }