public ActionResult EmplistDelete(int id) { var message = "OK"; DataSource <EmpChkListViewModel> Source = new DataSource <EmpChkListViewModel>(); EmpChkList EmpcheckList = _hrUnitOfWork.Repository <EmpChkList>().Where(a => a.Id == id).FirstOrDefault(); var EmpTaskslis = _hrUnitOfWork.Repository <EmpTask>().Where(a => a.EmpListId == id).ToList(); if (EmpTaskslis.Count > 0) { foreach (var item in EmpTaskslis) { _hrUnitOfWork.CheckListRepository.Remove(item); } } _hrUnitOfWork.CheckListRepository.Remove(EmpcheckList); Source.Errors = SaveChanges(Language); if (Source.Errors.Count() > 0) { return(Json(Source)); } else { return(Json(message)); } }
public ActionResult CopyEmplistDetails(int checkList) { var checklist = _hrUnitOfWork.CheckListRepository.Find(a => a.Id == checkList).FirstOrDefault(); EmpChkList EmpList = _hrUnitOfWork.CheckListRepository.AddEmpChlst(checklist, UserName, null, CompanyId); _hrUnitOfWork.CheckListRepository.Add(EmpList); var checkTask = _hrUnitOfWork.CheckListRepository.ReadCheckListTask(checklist.Id).ToList(); if (checkTask.Count > 0) { _hrUnitOfWork.CheckListRepository.AddEmpTask(checkTask, UserName, EmpList); } List <Error> errors = new List <Error>(); errors = SaveChanges(Language); if (errors.Count > 0) { var message = errors.First().errors.First().message; return(Json(message, JsonRequestBehavior.AllowGet)); } var EmpLists = _hrUnitOfWork.CheckListRepository.ReadEmpList(EmpList.Id); FillViewBag(EmpList.EmpId == null ?0 : EmpList.EmpId.Value); return(View("EmplistDetails", EmpLists)); }
public void Remove(EmpChkList checklistTask) { if (Context.Entry(checklistTask).State == EntityState.Detached) { context.EmpChkLists.Attach(checklistTask); } context.EmpChkLists.Remove(checklistTask); }
public EmpChkList AddEmpChlst(CheckList checklist, string UserName, int?EmpId, int CompanyId) { EmpChkList Emplist = new EmpChkList(); Emplist.CreatedTime = DateTime.Now; Emplist.Name = checklist.Name; Emplist.EmpId = EmpId; Emplist.CreatedUser = UserName; Emplist.Description = checklist.Description; Emplist.ListEndDate = checklist.EndDate; Emplist.ListId = checklist.Id; Emplist.ListStartDate = checklist.StartDate; Emplist.ListType = checklist.ListType; Emplist.Status = 0; Emplist.CompanyId = CompanyId; return(Emplist); }
public EmpChkList AddEmpChlst(CheckList checklist, string UserName, int EmpId, int companyId) { EmpChkList Emplist = new EmpChkList() { CreatedTime = DateTime.Now, Name = checklist.Name, EmpId = EmpId, CreatedUser = UserName, Description = checklist.Description, ListEndDate = checklist.EndDate, ListId = checklist.Id, ListStartDate = checklist.StartDate, ListType = checklist.ListType, Status = 0, CompanyId = companyId, }; return(Emplist); }
public IHttpActionResult PostTerminationRequest(TerminationFormVM model) { if (!ModelState.IsValid) { return(BadRequest()); } if (model == null) { return(NotFound()); } var UserName = HttpContext.Current.User.Identity.Name; var request = hrUnitOfWork.TerminationRepository.Get(model.Id); AutoMapper(new Models.AutoMapperParm { Destination = request, Source = model, ObjectName = "TermRequestForm", Version = 0, Options = null, Transtype = TransType.Update }); request.ModifiedTime = DateTime.Now; request.ModifiedUser = UserName; request.CompanyId = model.CompanyId; //request.ApprovalStatus = 2; request.PlanedDate = model.PlanedDate; hrUnitOfWork.TerminationRepository.Attach(request); hrUnitOfWork.TerminationRepository.Entry(request).State = EntityState.Modified; var Errors = SaveChanges(model.Culture); if (Errors.Count > 0) { return(StatusCode(HttpStatusCode.Forbidden)); } if (request.ApprovalStatus == 2) { string error = AddWFTrans(request, null, null, model); if (error.Length > 0) { return(Json(error)); } var checklist = hrUnitOfWork.CheckListRepository.GetTermCheckLists(model.CompanyId); if (checklist != null) { EmpChkList EmpList = hrUnitOfWork.CheckListRepository.AddEmpChlst(checklist, UserName, request.EmpId, model.CompanyId); hrUnitOfWork.CheckListRepository.Add(EmpList); var checkTask = hrUnitOfWork.CheckListRepository.ReadCheckListTask(checklist.Id).ToList(); if (checkTask.Count > 0) { hrUnitOfWork.CheckListRepository.AddEmpTask(checkTask, UserName, EmpList); } } } Errors = SaveChanges(model.Culture); if (Errors.Count > 0) { return(StatusCode(HttpStatusCode.NotModified)); } return(Ok(model)); }
public ActionResult Details(TerminationFormViewModel model, OptionsViewModel moreInfo) { List <Error> errors = new List <Error>(); var message = "OK"; var Term = _hrUnitOfWork.TerminationRepository.Get(model.Id); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.TerminationRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "TermRequestForm", TableName = "Terminations", 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 (Term == null) // New { Term = new Termination(); AutoMapper(new Models.AutoMapperParm { Destination = Term, Source = model, ObjectName = "TermRequestForm", Options = moreInfo, Transtype = TransType.Insert }); Term.CompanyId = CompanyId; Term.CreatedTime = DateTime.Now; Term.CreatedUser = UserName; Term.RequestDate = DateTime.Now; _hrUnitOfWork.TerminationRepository.Add(Term); } else // Edit { AutoMapper(new Models.AutoMapperParm { Destination = Term, Source = model, ObjectName = "TermRequestForm", Options = moreInfo, Transtype = TransType.Update }); Term.ModifiedTime = DateTime.Now; Term.ModifiedUser = UserName; Term.CompanyId = CompanyId; _hrUnitOfWork.TerminationRepository.Attach(Term); _hrUnitOfWork.TerminationRepository.Entry(Term).State = EntityState.Modified; } //Use 2 SaveChanges in same action to get Id of request to use it in Workflow Transation (WFTrans) errors = SaveChanges(Language); if (errors.Count > 0) { message = errors.First().errors.First().message; return(Json(message)); } if (Term.ApprovalStatus == 2) { string error = AddWFTrans(Term, null, null); if (error.Length > 0) { return(Json(error)); } var checklist = _hrUnitOfWork.CheckListRepository.GetTermCheckLists(CompanyId); if (checklist != null) { EmpChkList EmpList = _hrUnitOfWork.CheckListRepository.AddEmpChlst(checklist, UserName, Term.EmpId, CompanyId); _hrUnitOfWork.CheckListRepository.Add(EmpList); var checkTask = _hrUnitOfWork.CheckListRepository.ReadCheckListTask(checklist.Id).ToList(); if (checkTask.Count > 0) { _hrUnitOfWork.CheckListRepository.AddEmpTask(checkTask, UserName, EmpList); } } } errors = SaveChanges(Language); if (errors.Count > 0) { message = errors.First().errors.First().message; } return(Json(message)); }
public string ExcuteUpdate(int id) { var message = "Ok"; List <Error> errors = new List <Error>(); int EmpListstatus = _hrUnitOfWork.CheckListRepository.ReadEmpList(id).Status; int ImpCount = 0, NotImpCount = 0; var Tasks = _hrUnitOfWork.Repository <EmpTask>().Where(a => a.EmpListId == id).ToList(); if ((Tasks.Count > 0) && (EmpListstatus != 2)) { foreach (var Task in Tasks.Where(a => a.Status == 1)) { bool Expiered; switch (Task.Unit) { case 1: if (Task.Required) { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { ImpCount++; } } else { ImpCount++; } } else { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { NotImpCount++; } } else { NotImpCount++; } } break; case 2: if (Task.Required) { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { ImpCount++; } } else { ImpCount++; } } else { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddHours(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { NotImpCount++; } } else { NotImpCount++; } } break; case 4: if (Task.Required) { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { ImpCount++; } } else { ImpCount++; } } else { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddDays(Task.ExpectDur.Value * 7) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { NotImpCount++; } } else { NotImpCount++; } } break; case 5: if (Task.Required) { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { ImpCount++; } } else { ImpCount++; } } else { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMonths(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { NotImpCount++; } } else { NotImpCount++; } } break; default: if (Task.Required) { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { ImpCount++; } } else { ImpCount++; } } else { if (Task.ExpectDur != null && Task.ExpectDur != 0) { Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddDays(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true; if (Expiered) { Task.Status = 4; _hrUnitOfWork.CheckListRepository.Attach(Task); _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified; } else { NotImpCount++; } } else { NotImpCount++; } } break; } } if (ImpCount + NotImpCount + Tasks.Where(a => a.Status == 0).Count() == 0) { EmpChkList Emplist = _hrUnitOfWork.Repository <EmpChkList>().FirstOrDefault(a => a.Id == id && a.CompanyId == CompanyId); Emplist.Status = 2; _hrUnitOfWork.CheckListRepository.Attach(Emplist); _hrUnitOfWork.CheckListRepository.Entry(Emplist).State = EntityState.Modified; message += "Canceled"; } else { if (ImpCount == 0 && Tasks.Where(a => a.Status == 0).Count() > 0) { var res = Tasks.Where(b => b.Status == 0).OrderBy(a => a.Priority).FirstOrDefault(); foreach (var item in Tasks.Where(b => b.Status == 0 && b.Priority == res.Priority).ToList()) { item.Status = 1; _hrUnitOfWork.CheckListRepository.Attach(item); _hrUnitOfWork.CheckListRepository.Entry(item).State = EntityState.Modified; } message = "Updated"; } else { message = (ImpCount + NotImpCount).ToString() + " AlreadyAssigned"; } } if (message.Contains("Updated")) { errors = SaveChanges(Language); if (errors.Count > 0) { message = errors.First().errors.First().message; } } } else { return(message + "NoTask"); } return(message); }
private List <Error> EmpTasksSaveGrid(EmpTaskVM grid1, IEnumerable <KeyValuePair <string, ModelState> > state, EmpChkList checkList) { List <Error> errors = new List <Error>(); DataSource <EmpTaskViewModel> Err = new DataSource <EmpTaskViewModel>(); Err.Total = 0; // Exclude delete models from sever side validations if (ServerValidationEnabled) { var modified = Models.Utils.GetModifiedRows(state.Where(a => !a.Key.Contains("deleted"))); if (modified.Count > 0) { errors = _hrUnitOfWork.CompanyRepository.Check(new CheckParm { CompanyId = CompanyId, ObjectName = "EmplistTasks", Columns = Models.Utils.GetModifiedRows(state.Where(a => !a.Key.Contains("deleted"))), Culture = Language }); if (errors.Count() > 0) { return(errors); } } } // Deleted if (grid1.deleted != null) { foreach (EmpTaskViewModel model in grid1.deleted) { var chlistTask = new EmpTask { Id = model.Id }; _hrUnitOfWork.CheckListRepository.Remove(chlistTask); } } // updated records if (grid1.updated != null) { short count = 0; foreach (EmpTaskViewModel model in grid1.updated) { if (model.AssignedTime != null) { Err = _hrUnitOfWork.CheckListRepository.AddSubperiods(CompanyId, model.AssignedTime, model.Id, count, Language); } if (Err.Errors == null || Err.Errors.Count == 0) { model.SubPeriodId = Err.Total == 0 ? (int?)null : Err.Total; var chlistTask = _hrUnitOfWork.Repository <EmpTask>().Where(a => a.Id == model.Id).FirstOrDefault(); AutoMapper(new Models.AutoMapperParm { Destination = chlistTask, Source = model }); chlistTask.ModifiedTime = DateTime.Now; chlistTask.ExpectDur = model.ExpectDur; chlistTask.ModifiedUser = UserName; _hrUnitOfWork.CheckListRepository.Attach(chlistTask); _hrUnitOfWork.CheckListRepository.Entry(chlistTask).State = EntityState.Modified; } else { errors.Add(Err.Errors.FirstOrDefault()); } count++; } } // inserted records if (grid1.inserted != null) { short count = 0; foreach (EmpTaskViewModel model in grid1.inserted) { if (model.AssignedTime != null) { if (model.AssignedTime != null) { Err = _hrUnitOfWork.CheckListRepository.AddSubperiods(CompanyId, model.AssignedTime, model.Id, count, Language); } } if (Err.Errors == null || Err.Errors.Count == 0) { model.SubPeriodId = Err.Total == 0 ? (int?)null : Err.Total; var chlistTask = new EmpTask(); AutoMapper(new Models.AutoMapperParm { Destination = chlistTask, Source = model, Transtype = TransType.Insert }); if (model.EmpId == 0) { chlistTask.EmpId = null; } if (model.ManagerId == 0) { chlistTask.ManagerId = null; } chlistTask.EmpChklist = checkList; chlistTask.CreatedTime = DateTime.Now; chlistTask.CreatedUser = UserName; chlistTask.ExpectDur = model.ExpectDur; _hrUnitOfWork.CheckListRepository.Add(chlistTask); } else { errors.Add(Err.Errors.FirstOrDefault()); } count++; } } return(errors); }
public ActionResult EmplistDetails(EmpChkListViewModel model, OptionsViewModel moreInfo, EmpTaskVM grid1) { List <Error> errors = new List <Error>(); if (model.ManagerId == model.EmpId) { ModelState.AddModelError("EmpId", MsgUtils.Instance.Trls("ManagerCan'tbeequalEmp")); return(Json(Models.Utils.ParseFormErrors(ModelState))); } if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.SiteRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "EmpListForm", TableName = "EmpChkLists", ParentColumn = "ListId", 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))); } } EmpChkList record; //insert if (model.Id == 0) { record = new EmpChkList(); AutoMapper(new Models.AutoMapperParm { Destination = record, Source = model, ObjectName = "EmpListForm", Options = moreInfo, Transtype = TransType.Insert }); record.CreatedUser = UserName; record.CreatedTime = DateTime.Now; record.CompanyId = CompanyId; if (record.ListStartDate > record.ListEndDate) { ModelState.AddModelError("ListStartDate", MsgUtils.Instance.Trls("End must greater than start")); return(Json(Models.Utils.ParseFormErrors(ModelState))); } _hrUnitOfWork.CheckListRepository.Add(record); } //update else { record = _hrUnitOfWork.Repository <EmpChkList>().FirstOrDefault(a => a.Id == model.Id); AutoMapper(new Models.AutoMapperParm { Destination = record, Source = model, ObjectName = "EmpListForm", Options = moreInfo, Transtype = TransType.Update }); record.ModifiedTime = DateTime.Now; record.ModifiedUser = UserName; record.CompanyId = CompanyId; if (record.ListStartDate > record.ListEndDate) { ModelState.AddModelError("ListEndDate", MsgUtils.Instance.Trls("End must greater than start")); return(Json(Models.Utils.ParseFormErrors(ModelState))); } if (model.Status == 2) { var EmpTasks = _hrUnitOfWork.Repository <EmpTask>().Where(a => a.EmpListId == model.Id).ToList(); if (EmpTasks.Count > 0) { foreach (var item in EmpTasks) { if (item.Status != 2) { item.Status = 3; _hrUnitOfWork.CheckListRepository.Attach(item); _hrUnitOfWork.CheckListRepository.Entry(item).State = EntityState.Modified; } } } } _hrUnitOfWork.CheckListRepository.Attach(record); _hrUnitOfWork.CheckListRepository.Entry(record).State = EntityState.Modified; } // Save grid1 errors = EmpTasksSaveGrid(grid1, ModelState.Where(a => a.Key.Contains("grid")), record); if (errors.Count > 0) { return(Json(errors.First().errors.First().message)); } errors = SaveChanges(Language); var message = "OK"; if (errors.Count > 0) { message = errors.First().errors.First().message; } return(Json(message)); } return(Json(Models.Utils.ParseFormErrors(ModelState))); }
public IHttpActionResult SaveTermination(TerminationFormViewModel 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 = 1042; var Term = _hrUnitOfWork.TerminationRepository.Get(model.Id); if (Term == null) // New { Term = new Termination(); AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = Term }; AutoMapper(parms); Term.CreatedTime = DateTime.Now; Term.CreatedUser = User.Identity.Name; Term.RequestDate = DateTime.Now; if (model.Excute) { Term.ApprovalStatus = 2; } _hrUnitOfWork.TerminationRepository.Add(Term); } else // Edit { AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = Term }; AutoMapper(parms); Term.ModifiedTime = DateTime.Now; Term.ModifiedUser = User.Identity.Name; if (model.Excute) { Term.ApprovalStatus = 2; } _hrUnitOfWork.TerminationRepository.Attach(Term); _hrUnitOfWork.TerminationRepository.Entry(Term).State = EntityState.Modified; } if (model.Excute) { string error = AddWFTrans(Term, null, null); if (error.Length > 0) { return(Json(error)); } var checklist = _hrUnitOfWork.CheckListRepository.GetTermCheckLists(User.Identity.GetDefaultCompany()); if (checklist != null) { EmpChkList EmpList = _hrUnitOfWork.CheckListRepository.AddEmpChlst(checklist, User.Identity.Name, Term.EmpId, User.Identity.GetDefaultCompany()); _hrUnitOfWork.CheckListRepository.Add(EmpList); var checkTask = _hrUnitOfWork.CheckListRepository.ReadCheckListTask(checklist.Id).ToList(); if (checkTask.Count > 0) { _hrUnitOfWork.CheckListRepository.AddEmpTask(checkTask, User.Identity.Name, EmpList); } } } try { _hrUnitOfWork.Save(); } catch (Exception ex) { message = _hrUnitOfWork.HandleDbExceptions(ex, User.Identity.GetLanguage()); if (message.Length > 0) { return(Ok(message)); } } return(Ok(message)); }
public DbEntityEntry <EmpChkList> Entry(EmpChkList checklistTask) { return(Context.Entry(checklistTask)); }
public void Attach(EmpChkList checklistTask) { context.EmpChkLists.Attach(checklistTask); }
public void Add(EmpChkList checklistTask) { context.EmpChkLists.Add(checklistTask); }
public void AddEmpTask(List <CheckListTaskViewModel> chlist, string UserName, EmpChkList Emplist) { foreach (var item in chlist) { EmpTask emTask = new EmpTask() { Unit = item.Unit, CreatedTime = DateTime.Now, CreatedUser = UserName, Description = item.Description, EmpId = item.EmpId, ExpectDur = item.ExpectDur, TaskCat = item.TaskCat, TaskNo = item.TaskNo, Status = 0, Priority = item.Priority, Required = item.Required, EmpChklist = Emplist }; if (item.Priority == 0) { emTask.Status = 1; emTask.AssignedTime = DateTime.Now; } context.EmpTasks.Add(emTask); } }