public IHttpActionResult EditAssignOrder(AssignOrderVM model) { if (!ModelState.IsValid) { return(BadRequest()); } if (model == null) { return(NotFound()); } var UserName = HttpContext.Current.User.Identity.Name; AssignOrder request = hrUnitOfWork.LeaveRepository.GetAssignOrderByiD(model.Id); AutoMapperParm parms = new Models.AutoMapperParm() { Source = model, Destination = request, Version = 0, ObjectName = "AssignOrders", Options = null, Transtype = TransType.Update }; AutoMapper(parms); if (model.Id != 0) { hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel() { ColumnName = "ApprovalStatus", CompanyId = model.CompanyId, ObjectName = "AssignOrders", SourceId = request.Id.ToString(), UserName = UserName, Version = 0, ValueAfter = MsgUtils.Instance.Trls("Submit"), ValueBefore = MsgUtils.Instance.Trls("Darft") }); request.CompanyId = model.CompanyId; request.ModifiedUser = UserName; request.ModifiedTime = DateTime.Now; request.ApprovalStatus = 6; request.EmpId = model.EmpId; request.Duration = model.Duration; request.AssignDate = model.AssignDate; request.CalcMethod = model.CalcMethod; request.LeaveTypeId = model.LeaveTypeId; request.ExpiryDate = model.ExpiryDate; request.TaskDesc = model.TaskDesc; request.ManagerId = model.ManagerId; hrUnitOfWork.LeaveRepository.AttachAssignOrder(request); hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified; var Errors = SaveChanges(model.language); if (Errors.Count > 0) { return(StatusCode(HttpStatusCode.Forbidden)); } if (request.CalcMethod == 1) //monetary { WfViewModel wf = new WfViewModel() { Source = "AssignOrder1", SourceId = request.CompanyId, DocumentId = request.Id, RequesterEmpId = request.EmpId, ApprovalStatus = 6, CreatedUser = UserName, }; var wfTrans = hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, model.language); if (wfTrans == null && wf.WorkFlowStatus != "Success") { request.ApprovalStatus = 1; hrUnitOfWork.LeaveRepository.AttachAssignOrder(request); hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified; } else if (wfTrans != null) { hrUnitOfWork.LeaveRepository.Add(wfTrans); } } else if (request.CalcMethod == 2) //time compensation { WfViewModel wf = new WfViewModel() { Source = "AssignOrder2", SourceId = request.CompanyId, DocumentId = request.Id, RequesterEmpId = request.EmpId, ApprovalStatus = 6, CreatedUser = UserName, }; var wfTrans = hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, model.language); if (wfTrans == null && wf.WorkFlowStatus != "Success") { request.ApprovalStatus = 1; hrUnitOfWork.LeaveRepository.AttachAssignOrder(request); hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified; } else if (wfTrans != null) { hrUnitOfWork.LeaveRepository.Add(wfTrans); } } Errors = SaveChanges(model.language); if (Errors.Count > 0) { return(StatusCode(HttpStatusCode.NotModified)); } } return(Ok(model)); }
public IHttpActionResult PostAssignOrder(AssignOrderVM model) { if (!ModelState.IsValid) { return(BadRequest()); } if (model == null) { return(NotFound()); } var UserName = HttpContext.Current.User.Identity.Name; AssignOrder request; //= hrUnitOfWork.LeaveRepository.GetAssignOrderByiD(model.Id); var isRequired = hrUnitOfWork.Repository <Workflow>().Where(w => w.Source == "AssignOrder" + model.CalcMethod && w.CompanyId == model.CompanyId).Select(a => a.IsRequired).FirstOrDefault(); request = new AssignOrder(); AutoMapperParm parms = new Models.AutoMapperParm() { Source = model, Destination = request, Version = 0, ObjectName = "AssignOrders", Options = null, Transtype = TransType.Insert }; AutoMapper(parms); request.CompanyId = model.CompanyId; request.CreatedUser = UserName; request.CreatedTime = DateTime.Now; request.ApprovalStatus = (byte)(isRequired ? 1 : 6); request.EmpId = model.EmpId; request.Duration = model.Duration; request.AssignDate = model.AssignDate; request.CalcMethod = model.CalcMethod; request.LeaveTypeId = model.LeaveTypeId; request.ExpiryDate = model.ExpiryDate; request.TaskDesc = model.TaskDesc; request.ManagerId = model.ManagerId; hrUnitOfWork.LeaveRepository.AddAssignOrder(request); var Errors = SaveChanges(model.language); if (Errors.Count > 0) { return(StatusCode(HttpStatusCode.Forbidden)); } if (!isRequired && model.CalcMethod == 2 && model.Id == 0) { var error = hrUnitOfWork.LeaveRepository.AddAssignOrdersLeaveTrans(request, UserName, model.language); } if (isRequired) { if (request.CalcMethod == 1) //monetary { WfViewModel wf = new WfViewModel() { Source = "AssignOrder1", SourceId = request.CompanyId, DocumentId = request.Id, RequesterEmpId = request.EmpId, ApprovalStatus = 6, CreatedUser = UserName, }; var wfTrans = hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, model.language); if (wfTrans == null && wf.WorkFlowStatus != "Success") { request.ApprovalStatus = 1; hrUnitOfWork.LeaveRepository.AttachAssignOrder(request); hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified; } else if (wfTrans != null) { hrUnitOfWork.LeaveRepository.Add(wfTrans); } } else if (request.CalcMethod == 2) //time compensation { WfViewModel wf = new WfViewModel() { Source = "AssignOrder2", SourceId = request.CompanyId, DocumentId = request.Id, RequesterEmpId = request.EmpId, ApprovalStatus = 6, CreatedUser = UserName, }; var wfTrans = hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, model.language); if (wfTrans == null && wf.WorkFlowStatus != "Success") { request.ApprovalStatus = 1; hrUnitOfWork.LeaveRepository.AttachAssignOrder(request); hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified; } else if (wfTrans != null) { hrUnitOfWork.LeaveRepository.Add(wfTrans); } } } Errors = SaveChanges(model.language); if (Errors.Count > 0) { return(StatusCode(HttpStatusCode.NotModified)); } model.Id = request.Id; return(Created(new Uri(Request.RequestUri + "/" + model.Id), model)); }
protected void AutoMapper(Models.AutoMapperParm parm) { parm.Version = Convert.ToByte(Request.Form["Version"]); Models.AutoMapper mapper = new Models.AutoMapper(parm, HrUnitOfWork, User.Identity); mapper.Map(); }
private void AutoMapper(Models.AutoMapperParm parm, HrUnitOfWork unitOfWork) { Models.AutoMapper mapper = new Models.AutoMapper(parm, unitOfWork, User.Identity); mapper.Map(); }
protected void AutoMapper(Models.AutoMapperParm parm) { Models.AutoMapper mapper = new Models.AutoMapper(parm, HrUnitOfWork, User.Identity); mapper.Map(); }
//SaveNotification public ActionResult SaveNotification(NotifyConditionViewModel model, IEnumerable <FilterGridViewModel> grid1, OptionsViewModel moreInfo) { List <Error> errors = new List <Error>(); var msg = "OK"; if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.SiteRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "Notify", TableName = "NotifyConditions", Columns = Models.Utils.GetColumnViews(ModelState), 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))); } int[] reminderEvent = { (int)Events.IsDueIn, (int)Events.IsDueTo, (int)Events.WasDueThisAmountofTimeAgo }; var NotifyCondition = _hrUnitOfWork.Repository <NotifyCondition>().Where(a => a.Id == model.Id).FirstOrDefault(); if (NotifyCondition == null) { NotifyCondition = new NotifyCondition(); var parm = new Models.AutoMapperParm { Destination = NotifyCondition, Source = model, ObjectName = "Notify", Options = moreInfo, Transtype = TransType.Insert }; AutoMapper mapper = new Models.AutoMapper(parm, _hrUnitOfWork, User.Identity); mapper.Map(); NotifyCondition.CompanyId = CompanyId; NotifyCondition.CreatedTime = DateTime.Now; NotifyCondition.CreatedUser = UserName; NotifyCondition.ColumnName = model.ColumnName; NotifyCondition.TableName = model.TableName; NotifyCondition.ObjectName = model.ObjectName; NotifyCondition.Version = model.Version; NotifyCondition.Message = model.EncodedMsg.Replace(" ", " ").Replace("<", "<").Replace(">", ">"); NotifyCondition.EventValue = model.EventValue; Events ev = (Events)Enum.ToObject(typeof(Events), model.Event); NotifyCondition.Event = ev; List <string> ListOfUsers = new List <string>(); if (model.Users != null) { foreach (var item in model.Users) { var users = db.Users.Where(a => a.Id == item).Select(a => a.UserName).FirstOrDefault(); ListOfUsers.Add(users); } } NotifyCondition.Users = string.Join(",", ListOfUsers.ToArray()); if (model.Message != null) { var ListOfFields = GetFields(model.Message).Distinct().ToList(); if (model.HasEmpId && !ListOfFields.Contains("EmpId") && reminderEvent.Contains(model.Event)) { ListOfFields.Add("EmpId"); } NotifyCondition.Fields = string.Join(",", ListOfFields.ToArray()); } /// Check Filter var columns = _hrUnitOfWork.NotificationRepository.GetColumnList(model.TableName, model.ObjectName, model.Version, model.divType, CompanyId, User.Identity.GetCulture()); if (!String.IsNullOrEmpty(NotifyCondition.filter)) { var message = ApplyFilter(NotifyCondition.filter, columns); if (!String.IsNullOrEmpty(message)) { ModelState.AddModelError("filter", message); return(Json(Models.Utils.ParseFormErrors(ModelState))); } } if (grid1 != null) { SaveFilterGrid(grid1, NotifyCondition); } _hrUnitOfWork.NotificationRepository.Add(NotifyCondition); } else { var parm = new Models.AutoMapperParm { Destination = NotifyCondition, Source = model, ObjectName = "Notify", Options = moreInfo, Transtype = TransType.Update }; AutoMapper mapper = new Models.AutoMapper(parm, _hrUnitOfWork, User.Identity); mapper.Map(); NotifyCondition.CompanyId = User.Identity.GetDefaultCompany(); NotifyCondition.Message = model.EncodedMsg.Replace(" ", " ").Replace("<", "<").Replace(">", ">"); Events ev = (Events)Enum.ToObject(typeof(Events), model.Event); NotifyCondition.Event = ev; NotifyCondition.EventValue = model.EventValue; //NotifyCondition.CreatedTime = DateTime.Now; //NotifyCondition.CreatedUser = UserName; //NotifyCondition.ColumnName = model.ColumnName; //NotifyCondition.TableName = model.TableName; //NotifyCondition.ObjectName = model.ObjectName; // NotifyCondition.Version = model.Version; //Events ev = (Events)Enum.ToObject(typeof(Events), model.Event); //NotifyCondition.Event = ev; List <string> ListOfUsers = new List <string>(); if (model.Users != null) { foreach (var item in model.Users) { //var users = db.Users.Where(a => a.UserName == item).Select(a => a.UserName).FirstOrDefault(); ListOfUsers.Add(item); } } NotifyCondition.Users = string.Join(",", ListOfUsers.ToArray()); if (model.Message != null) { var ListOfFields = GetFields(model.Message).Distinct().ToList(); if (model.HasEmpId && !ListOfFields.Contains("EmpId") && reminderEvent.Contains(model.Event)) { ListOfFields.Add("EmpId"); } NotifyCondition.Fields = string.Join(",", ListOfFields.ToArray()); } //mapper.AddNotification(NotifyCondition, model.DateTimeValue, model.SourceId); /// Check Filter var columns = _hrUnitOfWork.NotificationRepository.GetColumnList(model.TableName, model.ObjectName, model.Version, model.divType, CompanyId, User.Identity.GetCulture()); if (!String.IsNullOrEmpty(NotifyCondition.filter)) { var message = ApplyFilter(NotifyCondition.filter, columns); if (!String.IsNullOrEmpty(message)) { ModelState.AddModelError("filter", message); return(Json(Models.Utils.ParseFormErrors(ModelState))); } } if (grid1 != null) { SaveFilterGrid(grid1, NotifyCondition); } _hrUnitOfWork.NotificationRepository.Attach(NotifyCondition); _hrUnitOfWork.NotificationRepository.Entry(NotifyCondition).State = EntityState.Modified; } errors = SaveChanges(Language); if (errors.Count() > 0) { foreach (var item in errors) { msg = item.errors.Select(a => a.message).FirstOrDefault(); } return(Json(msg)); } return(Json(msg)); }