public Boolean Edit(String taskId, String taskName, String taskDesc, String clientName, String date, String startTime, String endTime, String duration, String projId) { try { int pid = Int16.Parse(projId); Project proj = new Project(); proj = _dbContext.project.Where(x => x.projectId == pid).FirstOrDefault(); int id = Int16.Parse(taskId); EmpTask task = new EmpTask(); task = _dbContext.EmpTask.Where(x => x.TaskId == id).FirstOrDefault(); task.Task_Name = taskName; task.Task_Description = taskDesc; //task.Project_Name = projName; task.Client_Name = clientName; task.Date = date; task.Start_Time = startTime; task.End_Time = endTime; task.Duration = duration; task.project = proj; _dbContext.EmpTask.Update(task); _dbContext.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
public ActionResult Details(int id = 0) { int?position = null; if (Session["PositionId"] != null) { position = int.Parse(Session["PositionId"]?.ToString()); } ViewBag.Emps = _hrUnitOfWork.CheckListRepository.GetManagerEmpList(User.Identity.GetEmpId(), position, CompanyId, Language); EmpTask oldTask = _hrUnitOfWork.Repository <EmpTask>().Where(t => t.ManagerId == User.Identity.GetEmpId()).OrderByDescending(t => t.TaskNo).FirstOrDefault(); if (id == 0) { return(View(new EmpTasksViewModel() { TaskNo = (short)(oldTask != null ? (oldTask.TaskNo + 1) : 1), AssignedTime = DateTime.Now, Status = 1 })); } EmpTasksViewModel task = _hrUnitOfWork.CheckListRepository.GetManagerEmpTask(id); return(task == null ? (ActionResult)HttpNotFound() : View(task)); }
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); } }
public EmpTask getEmpTaskById(int id) { EmpTask task = new EmpTask(); task = _dbContext.EmpTask.Where(x => x.TaskId == id).FirstOrDefault(); return(task); }
public IActionResult GetDataById(string taskId) { EmpTask task = new EmpTask(); task = empService.getEmpTaskById(Int16.Parse(taskId)); return(Json(task)); }
public void Remove(EmpTask checklistTask) { if (Context.Entry(checklistTask).State == EntityState.Detached) { context.EmpTasks.Attach(checklistTask); } context.EmpTasks.Remove(checklistTask); }
public IActionResult Edit(string taskId) { EmpTask task = new EmpTask(); List <Project> proList = empService.getAllProject(); task = empService.getEmpTaskById(Int16.Parse(taskId)); ViewData["task"] = task; ViewData["projects"] = proList; return(View()); }
public void AssignNextTask(EmpTask currentTask) { EmpTask nextTask = context.EmpTasks .Where(t => t.Status == 0 && t.EmpId == currentTask.EmpId) .OrderBy(t => new { t.Priority, t.AssignedTime }).FirstOrDefault(); if (nextTask != null) { nextTask.Status = 1; context.EmpTasks.Attach(nextTask); context.Entry(nextTask).State = EntityState.Modified; } }
//[Authorization] public ActionResult SetStatus(EmpTask changedTask) { if (!authUser.is_emp) { return(NotFound()); } EmpTask task = _repo.GetEmpTaskById(changedTask.Id, authUser.ID); if (task == null) { return(NotFound()); } task.Status = changedTask.Status; _repo.SetStatus((Task)task); return(Ok()); }
public ActionResult DeleteTask(int id) { var message = "OK"; DataSource <EmpTask> Source = new DataSource <EmpTask>(); EmpTask empTask = _hrUnitOfWork.CheckListRepository.GetEmpTask(id); _hrUnitOfWork.CheckListRepository.Remove(empTask); Source.Errors = SaveChanges(Language); if (Source.Errors.Count() > 0) { return(Json(Source)); } else { return(Json(message)); } }
public ActionResult Details(EmpTasksViewModel model, OptionsViewModel moreInfo) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "EmpTasksForm", TableName = "EmpTasks", 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))); } EmpTask task = _hrUnitOfWork.CheckListRepository.GetEmpTask(model.Id); byte version; byte.TryParse(Request.Form["version"], out version); string message = "OK,"; //Check 1.Subperiod is defiend, 2.Done tasks is started if (model.Status == 1) //1-AssignTo { if (model.AssignedTime == null) { model.AssignedTime = DateTime.Now; } int? subPeriod; string error = _hrUnitOfWork.CheckListRepository.GetTaskSubPeriod(CompanyId, model.AssignedTime, Language, out subPeriod); if (error.Length > 0) { ModelState.AddModelError("AssignedTime", error); return(Json(Models.Utils.ParseFormErrors(ModelState))); } model.SubPeriodId = subPeriod; } else if (model.Status == 2) //2-Done { if (model.StartTime == null || model.StartTime > DateTime.Now) { ModelState.AddModelError("Status", MsgUtils.Instance.Trls("TaskNotStarted")); return(Json(Models.Utils.ParseFormErrors(ModelState))); } model.EndTime = DateTime.Now; } ///Save if (model.Id == 0) { /// New task = new EmpTask(); AutoMapper(new AutoMapperParm() { Source = model, Destination = task, Version = version, ObjectName = "EmpTasksForm", Options = moreInfo }); task.SubPeriodId = model.SubPeriodId; task.CreatedUser = UserName; task.CreatedTime = DateTime.Now; _hrUnitOfWork.CheckListRepository.Add(task); } else if (model.ChangeEmployee) { EmpTask oldTask = _hrUnitOfWork.CheckListRepository.GetEmpTask(model.Id); var oldEmpId = oldTask.EmpId; //check emp changed if (oldEmpId == model.EmpId) { return(Json(MsgUtils.Instance.Trls("ChangeToSameEmp"))); } //assign to new Emp task = new EmpTask(); AutoMapper(new AutoMapperParm() { Source = model, Destination = task, Version = version, ObjectName = "EmpTasksForm", Options = moreInfo }); task.Status = 1; //1-AssignTo task.AssignedTime = DateTime.Now; int? subPeriod; string error = _hrUnitOfWork.CheckListRepository.GetTaskSubPeriod(CompanyId, model.AssignedTime, Language, out subPeriod); if (error.Length > 0) { ModelState.AddModelError("AssignedTime", error); return(Json(Models.Utils.ParseFormErrors(ModelState))); } task.SubPeriodId = subPeriod; task.CreatedUser = UserName; task.CreatedTime = DateTime.Now; _hrUnitOfWork.CheckListRepository.Add(task); //cancel from current Emp AutoMapper(new AutoMapperParm() { Source = model, Destination = oldTask, Version = version, ObjectName = "EmpTasksForm", Options = moreInfo }); oldTask.EmpId = oldEmpId; oldTask.Status = 3; //3-cancel oldTask.ModifiedUser = UserName; oldTask.ModifiedTime = DateTime.Now; _hrUnitOfWork.CheckListRepository.Attach(oldTask); _hrUnitOfWork.CheckListRepository.Entry(oldTask).State = EntityState.Modified; } else { /// Edit if (task.EmpId != model.EmpId) { return(Json(MsgUtils.Instance.Trls("ClickChangeEmp"))); } AutoMapper(new AutoMapperParm() { Source = model, Destination = task, Version = version, ObjectName = "EmpTasksForm", Options = moreInfo }); task.ModifiedUser = UserName; task.ModifiedTime = DateTime.Now; _hrUnitOfWork.CheckListRepository.Attach(task); _hrUnitOfWork.CheckListRepository.Entry(task).State = EntityState.Modified; if (task.Status == 2 || task.Status == 4) //2-Done, 4-Not Done { _hrUnitOfWork.CheckListRepository.AssignNextTask(task); } } var Errors = SaveChanges(Language); if (Errors.Count > 0) { message = Errors.First().errors.First().message; } else { message = message + ((new JavaScriptSerializer()).Serialize(model)); } return(Json(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 IHttpActionResult SaveTask(EmpTasksViewModel model) { EmpTask task = _hrUnitOfWork.CheckListRepository.GetEmpTask(model.Id); if (model.isStart) //Start { _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "StartTime", ValueBefore = task.StartTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", CompanyId = User.Identity.GetDefaultCompany(), SourceId = task.Id.ToString(), UserName = User.Identity.Name }); if (task.StartTime != null) { return(Ok(MsgUtils.Instance.Trls("TaskAlreadyStarted"))); } task.StartTime = DateTime.Now; } else { _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "EndTime", ValueBefore = task.EndTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", CompanyId = User.Identity.GetDefaultCompany(), SourceId = task.Id.ToString(), UserName = User.Identity.Name }); _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "Status", ValueBefore = task.Status.ToString(), ValueAfter = "2", ObjectName = "EmpTasksForm", CompanyId = User.Identity.GetDefaultCompany(), SourceId = task.Id.ToString(), UserName = User.Identity.Name }); task.EndTime = DateTime.Now; task.Status = 2; TimeSpan duration = task.EndTime.Value - task.StartTime.Value; switch (task.Unit) { case 0: //Minutes task.Duration = Convert.ToSByte(duration.Minutes); break; case 1: //Hours task.Duration = Convert.ToSByte(duration.Hours); break; case 2: //Days task.Duration = Convert.ToSByte(duration.Days); break; case 3: //Weeks task.Duration = Convert.ToSByte(duration.Days / 7); break; case 4: //Months task.Duration = Convert.ToSByte(duration.Days / 365.25 * 12); break; } _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "Status", ValueBefore = "", ValueAfter = task.Duration.ToString(), ObjectName = "EmpTasksForm", CompanyId = User.Identity.GetDefaultCompany(), SourceId = task.Id.ToString(), UserName = User.Identity.Name }); _hrUnitOfWork.CheckListRepository.AssignNextTask(task); } task.ModifiedTime = DateTime.Now; task.ModifiedUser = User.Identity.Name; _hrUnitOfWork.CheckListRepository.Attach(task); _hrUnitOfWork.CheckListRepository.Entry(task).State = EntityState.Modified; string message = "Ok"; var Errors = SaveChanges(User.Identity.GetLanguage()); if (Errors.Count > 0) { message = Errors.First().errors.First().message; } return(Json(message)); }
public DbEntityEntry <EmpTask> Entry(EmpTask checklistTask) { return(Context.Entry(checklistTask)); }
public void Attach(EmpTask checklistTask) { context.EmpTasks.Attach(checklistTask); }
public void Add(EmpTask checklistTask) { context.EmpTasks.Add(checklistTask); }
public ActionResult SaveEmployeeTasks(int Id, bool btn) { //var AllEmpTasks = _hrUnitOfWork.CheckListRepository.ReadEmployeeTasksGrid(User.Identity.GetEmpId(), Language).ToList(); EmpTask oldTask = _hrUnitOfWork.CheckListRepository.GetEmpTask(Id); byte version; byte.TryParse(Request.Form["version"], out version); if (btn) //Start { //var lessPriorty = AllEmpTasks.FirstOrDefault(t => t.Id != task.Id && t.Priority < task.Priority && task.Status == 1); //if (lessPriorty != null) // return Json(MsgUtils.Instance.Trls("LessPrioryNotFinishYet")); _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "StartTime", ValueBefore = oldTask.StartTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", Version = version, CompanyId = CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName }); if (oldTask.StartTime != null) { return(Json(MsgUtils.Instance.Trls("TaskAlreadyStarted"))); } oldTask.StartTime = DateTime.Now; } else { _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "EndTime", ValueBefore = oldTask.EndTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", Version = version, CompanyId = CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName }); _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "Status", ValueBefore = oldTask.Status.ToString(), ValueAfter = "2", ObjectName = "EmpTasksForm", Version = version, CompanyId = CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName }); oldTask.EndTime = DateTime.Now; oldTask.Status = 2; TimeSpan duration = oldTask.EndTime.Value - oldTask.StartTime.Value; switch (oldTask.Unit) { case 0: //Minutes oldTask.Duration = Convert.ToSByte(duration.Minutes); break; case 1: //Hours oldTask.Duration = Convert.ToSByte(duration.Hours); break; case 2: //Days oldTask.Duration = Convert.ToSByte(duration.Days); break; case 3: //Weeks oldTask.Duration = Convert.ToSByte(duration.Days / 7); break; case 4: //Months oldTask.Duration = Convert.ToSByte(duration.Days / 365.25 * 12); break; } _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "Status", ValueBefore = "", ValueAfter = oldTask.Duration.ToString(), ObjectName = "EmpTasksForm", Version = version, CompanyId = CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName }); _hrUnitOfWork.CheckListRepository.AssignNextTask(oldTask); } oldTask.ModifiedTime = DateTime.Now; oldTask.ModifiedUser = UserName; EmpTask task = new EmpTask(); AutoMapper(new AutoMapperParm() { Source = oldTask, Destination = task, ObjectName = "EmpTasksForm", Version = version }); _hrUnitOfWork.CheckListRepository.Attach(oldTask); _hrUnitOfWork.CheckListRepository.Entry(oldTask).State = EntityState.Modified; string message = "OK"; var Errors = SaveChanges(Language); if (Errors.Count > 0) { message = Errors.First().errors.First().message; } return(Json(message)); }
public IHttpActionResult UploadFile(UploadedFileVm model) { var username = HttpContext.Current.User.Identity.Name; var i = 0; if (model.Files.Count() > 0) { foreach (var item in model.Files) { //FileStream fileStream = new FileStream(HttpContext.Current.Server.MapPath(serverMapPath + model.FileDetails[i]), FileMode.Create, FileAccess.ReadWrite); //fileStream.Write(item, 0, item.Length); //fileStream.Close(); CompanyDocsViews doc = new CompanyDocsViews() { CompanyId = model.CompanyId, //name = fileStream.Name, name = model.FileDetails[i], CreatedUser = username, Source = model.Source, SourceId = model.TaskId, file_stream = item }; hrUnitOfWork.CompanyRepository.Add(doc); i++; } } //else //{ // CompanyDocsViews doc = new CompanyDocsViews() // { // CompanyId = model.CompanyId, // //name = model.FileDetails[i], // name = string.Empty, // CreatedUser = username, // Source = model.Source, // SourceId = model.TaskId // }; // hrUnitOfWork.CompanyRepository.Add(doc); //} EmpTask oldTask = hrUnitOfWork.CheckListRepository.GetEmpTask(model.TaskId); //hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "EndTime", ValueBefore = oldTask.EndTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", CompanyId = model.CompanyId, SourceId = oldTask.Id.ToString(), UserName = username }); //hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "Status", ValueBefore = oldTask.Status.ToString(), ValueAfter = "2", ObjectName = "EmpTasksForm", CompanyId = model.CompanyId, SourceId = oldTask.Id.ToString(), UserName = username }); if (oldTask.StartTime > DateTime.Now) { oldTask.StartTime = DateTime.Now; } oldTask.EndTime = DateTime.Now; oldTask.Status = 2; TimeSpan duration = oldTask.EndTime.Value - oldTask.StartTime.Value; switch (oldTask.Unit) { case 0: //Minutes oldTask.Duration = Convert.ToSByte(duration.Minutes); break; case 1: //Hours oldTask.Duration = Convert.ToSByte(duration.Hours); break; case 2: //Days oldTask.Duration = Convert.ToSByte(duration.Days); break; case 3: //Weeks oldTask.Duration = Convert.ToSByte(duration.Days / 7); break; case 4: //Months oldTask.Duration = Convert.ToSByte(duration.Days / 365.25 * 12); break; } //hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "Status", ValueBefore = "", ValueAfter = oldTask.Duration.ToString(), ObjectName = "EmpTasksForm", Version = version, CompanyId = model.CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName }); hrUnitOfWork.CheckListRepository.AssignNextTask(oldTask); oldTask.ModifiedTime = DateTime.Now; oldTask.ModifiedUser = username; var sc = SaveChanges(model.Language); return(Ok(sc)); }