public IHttpActionResult DeleteProcessAssign(int processAssignID, string userID) { try { using (PowerAppsCMSEntities db = new PowerAppsCMSEntities()) { Guid guidUserID = Guid.Parse(userID.Replace(" ", string.Empty)); DateTime now = DateTime.Now; ProcessAssign selectedProcessAssign = db.ProcessAssigns.Where(x => x.ID == processAssignID).SingleOrDefault(); db.ProcessAssigns.Remove(selectedProcessAssign); if (db.SaveChanges() > 0) { User selectedUser = db.Users.Where(x => x.ID == guidUserID).SingleOrDefault(); selectedUser.IsAssign = false; db.SaveChanges(); } return(Ok(HttpStatusCode.OK)); } } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult PostAddedOperator(int processID, string userID, int type, string userName) { try { using (PowerAppsCMSEntities db = new PowerAppsCMSEntities()) { Guid guidUserID = Guid.Parse(userID.Replace(" ", string.Empty)); DateTime now = DateTime.Now; ProcessAssign processAssign = new ProcessAssign(); processAssign.ProcessID = processID; processAssign.UserID = guidUserID; processAssign.Status = (int)ProcessAssignStatus.NotStarted; processAssign.Type = type; processAssign.Created = processAssign.LastModified = now; processAssign.CreatedBy = processAssign.LastModifiedBy = userName; db.ProcessAssigns.Add(processAssign); if (db.SaveChanges() > 0) { User user = db.Users.Find(guidUserID); user.IsAssign = true; db.SaveChanges(); } return(Ok(HttpStatusCode.OK)); } } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult PauseByOperator(int processAssignID, string userName, string userID, int reasonID) { using (PowerAppsCMSEntities db = new PowerAppsCMSEntities()) { Guid guidUserID = Guid.Parse(userID.Replace(" ", string.Empty)); DateTime now = DateTime.Now; decimal actualHours = 0; var workinLog = db.ProcessActivities.Where(x => x.ProcessAssignID == processAssignID && x.ProcessAssign.UserID == guidUserID).OrderByDescending(x => x.ID).FirstOrDefault(); if (workinLog != null && workinLog.Status == 1) { actualHours = Convert.ToDecimal(now.Subtract(workinLog.ActivityDateTime).TotalSeconds); } ProcessActivity processActivity = new ProcessActivity(); processActivity.Status = (int)ProcessActivityStatus.Pause; processActivity.CreatedBy = processActivity.LastModifiedBy = userName; processActivity.Created = processActivity.LastModified = processActivity.ActivityDateTime = now; processActivity.ActualHours = actualHours; processActivity.ReasonPauseID = reasonID; ProcessAssign processAssign = db.ProcessAssigns.Where(x => x.ID == processAssignID).FirstOrDefault(); processAssign.Status = (int)ProcessAssignStatus.Pause; processAssign.LastModified = now; processAssign.LastModifiedBy = userName; processAssign.ProcessActivities.Add(processActivity); db.SaveChanges(); return(Ok(HttpStatusCode.OK)); } }
public IHttpActionResult ForceStop(int processAssignID, string userName, string userID) { using (PowerAppsCMSEntities db = new PowerAppsCMSEntities()) { Guid guidUserID = Guid.Parse(userID.Replace(" ", string.Empty)); DateTime now = DateTime.Now; decimal actualHours = 0; ProcessActivity workinLog = db.ProcessActivities.Where(x => x.ProcessAssignID == processAssignID && x.ProcessAssign.UserID == guidUserID).OrderByDescending(x => x.ID).FirstOrDefault(); if (workinLog != null && workinLog.Status == 1) { actualHours = Convert.ToDecimal(now.Subtract(workinLog.ActivityDateTime).TotalSeconds); } ProcessActivity processActivity = new ProcessActivity(); processActivity.Status = (int)ProcessActivityStatus.Stop; processActivity.CreatedBy = processActivity.LastModifiedBy = userName; processActivity.Created = processActivity.LastModified = processActivity.ActivityDateTime = now; processActivity.ActualHours = actualHours; ProcessAssign processAssign = db.ProcessAssigns.Where(x => x.ID == processAssignID).FirstOrDefault(); processAssign.Status = (int)ProcessAssignStatus.Stop; processAssign.LastModified = now; processAssign.LastModifiedBy = userName; processAssign.ProcessActivities.Add(processActivity); if (db.SaveChanges() > 0) { Process selectedProcess = db.Processes.Where(x => x.ID == processAssign.ProcessID).SingleOrDefault(); if (selectedProcess.ProcessAssigns.Where(x => x.Status != (int)ProcessAssignStatus.Stop).Count() == 0) { selectedProcess.Status = (int)ProcessStatus.StopByOperator; selectedProcess.LastModifiedBy = userName; selectedProcess.LastModified = now; } User user = db.Users.Find(processAssign.UserID); user.IsAssign = false; if (db.SaveChanges() > 0) { ProcessStatusLogs processStatusLogs = new ProcessStatusLogs(); processStatusLogs.ProcessID = processAssign.ProcessID; processStatusLogs.Description = "Force Stop"; processStatusLogs.Status = (int)ProcessStatus.StopByOperator; processStatusLogs.StatusName = "Stop by Operator"; processStatusLogs.CreatedBy = userName; processStatusLogs.Created = now; db.ProcessStatusLogs.Add(processStatusLogs); db.SaveChanges(); } } return(Ok(HttpStatusCode.OK)); } }
public IHttpActionResult StartByOperator(int processID, int processAssignID, string userName) { using (PowerAppsCMSEntities db = new PowerAppsCMSEntities()) { DateTime now = DateTime.Now; ProcessActivity processActivity = new ProcessActivity(); processActivity.ProcessAssignID = processAssignID; processActivity.Status = (int)ProcessActivityStatus.Start; processActivity.Created = processActivity.LastModified = processActivity.ActivityDateTime = now; processActivity.CreatedBy = processActivity.LastModifiedBy = userName; ProcessAssign processAssign = db.ProcessAssigns.Where(x => x.ID == processAssignID).FirstOrDefault(); processAssign.Status = (int)ProcessAssignStatus.Start; processAssign.LastModified = now; processAssign.LastModifiedBy = userName; processAssign.ProcessActivities.Add(processActivity); if (db.SaveChanges() > 0) { Process selectedProcess = db.Processes.Where(x => x.ID == processID).SingleOrDefault(); if (selectedProcess.ActualStartDate == null) { selectedProcess.ActualStartDate = now; } if (selectedProcess.Status != (int)ProcessStatus.OnProcess) { selectedProcess.Status = (int)ProcessStatus.OnProcess; selectedProcess.LastModified = now; selectedProcess.LastModifiedBy = userName; } else if (selectedProcess.Status == (int)ProcessStatus.OnProcess) { selectedProcess.LastModified = now; selectedProcess.LastModifiedBy = userName; } if (db.SaveChanges() > 0) { ProcessStatusLogs processStatusLogs = new ProcessStatusLogs(); processStatusLogs.ProcessID = processID; processStatusLogs.Description = "On Process"; processStatusLogs.Status = (int)ProcessStatus.OnProcess; processStatusLogs.StatusName = "On Process"; processStatusLogs.CreatedBy = userName; processStatusLogs.Created = now; db.ProcessStatusLogs.Add(processStatusLogs); db.SaveChanges(); } } return(Ok(HttpStatusCode.OK)); } }
public IHttpActionResult GetListAssignedUser() { List <ListAssignedOperator> listAssignedOperator = new List <ListAssignedOperator>(); using (PowerAppsCMSEntities db = new PowerAppsCMSEntities()) { try { foreach (User itemUser in db.Users.Where(x => x.IsAssign == true)) { ListAssignedOperator listOperator = new ListAssignedOperator(); int checkProcessAssign = itemUser.ProcessAssigns.Count(); if (checkProcessAssign > 0) { ProcessAssign selectedProcessAssign = itemUser.ProcessAssigns.Where(x => x.Status != (int)ProcessActivityStatus.Stop).FirstOrDefault(); User assignBy = db.Users.Where(x => x.EmployeeNumber == selectedProcessAssign.CreatedBy).SingleOrDefault(); listOperator.NRP = itemUser.EmployeeNumber; listOperator.UserName = itemUser.Name; listOperator.StatusID = selectedProcessAssign.Status; if (listOperator.StatusID == (int)ProcessAssignStatus.NotStarted) { listOperator.StatusName = "Not Started"; } else if (listOperator.StatusID == (int)ProcessAssignStatus.Start) { listOperator.StatusName = "Start"; } else if (listOperator.StatusID == (int)ProcessAssignStatus.Pause) { listOperator.StatusName = "Pause"; } else if (listOperator.StatusID == (int)ProcessAssignStatus.Break) { listOperator.StatusName = "Break"; } listOperator.PRO = selectedProcessAssign.Process.Unit.PRO.Number; listOperator.SN = selectedProcessAssign.Process.Unit.SerialNumber; listOperator.ProcessName = selectedProcessAssign.Process.MasterProcess.Name; listOperator.ProductName = selectedProcessAssign.Process.Unit.Product.Name; listOperator.AssignBy = assignBy != null? assignBy.Name : selectedProcessAssign.CreatedBy; } else { listOperator.NRP = itemUser.EmployeeNumber; listOperator.UserName = itemUser.Name; listOperator.StatusID = (int)ProcessAssignStatus.NotAssign; if (listOperator.StatusID == (int)ProcessAssignStatus.NotStarted) { listOperator.StatusName = "Not Started"; } else if (listOperator.StatusID == (int)ProcessAssignStatus.Start) { listOperator.StatusName = "Start"; } else if (listOperator.StatusID == (int)ProcessAssignStatus.Pause) { listOperator.StatusName = "Pause"; } else if (listOperator.StatusID == (int)ProcessAssignStatus.Break) { listOperator.StatusName = "Break"; } else if (listOperator.StatusID == (int)ProcessAssignStatus.NotAssign) { listOperator.StatusName = "-"; } listOperator.PRO = "-"; listOperator.SN = "-"; listOperator.ProcessName = "-"; listOperator.ProductName = "-"; listOperator.AssignBy = "-"; } listAssignedOperator.Add(listOperator); } return(Ok(listAssignedOperator)); } catch (Exception ex) { return(InternalServerError(ex)); } } }