public void DeleteTaskStatus(int taskStatusId, int teamId) { TEAM team = _teamRepository.GetTeamById(teamId); TASK_STATUS status = _taskRepository.GetTaskStatusById(taskStatusId); if (team != null && status != null && status.TEAM == team) { var tasksInStatus = _taskRepository.GetTasksByTeamAndStatus(team, status); if (tasksInStatus.Count() <= 0) { var statuses = _taskRepository.GetTaskStatusesByTeam(team); if (statuses.Count() > 1) { if (status.PREV_STATUS != null && status.NEXT_STATUS == null) { var newLastStatus = status.PREV_STATUS; newLastStatus.NEXT_STATUS = null; _taskRepository.UpdateTaskStatus(newLastStatus); _taskRepository.RemoveTaskStatus(status); } else if (status.PREV_STATUS == null && status.NEXT_STATUS != null) { var newFirstStatus = status.NEXT_STATUS; newFirstStatus.PREV_STATUS = null; _taskRepository.UpdateTaskStatus(newFirstStatus); _taskRepository.RemoveTaskStatus(status); } else { var prevStatus = status.PREV_STATUS; var nextStatus = status.NEXT_STATUS; prevStatus.NEXT_STATUS = nextStatus; nextStatus.PREV_STATUS = prevStatus; _taskRepository.UpdateTaskStatuses(new List <TASK_STATUS> { prevStatus, nextStatus }); _taskRepository.RemoveTaskStatus(status); } } } } }
public bool ChangeTaskStatus(USER user, int taskId, int newStatusId, int teamId) { TEAM team = _teamRepository.GetTeamById(teamId); TASK task = _taskRepository.GetTaskById(taskId); TASK_STATUS newStatus = _taskRepository.GetTaskStatusById(newStatusId); if (task != null && team != null && newStatus != null) { if (task.USER == user || _permissionService.CheckPermissionToCreateTasks(user, team.ID)) { task.TASK_STATUS = newStatus; _taskRepository.UpdateTasks(new List <TASK> { task }); return(true); } } return(false); }
public PROB_PREVENT CreateProblemPrevent(ProblemCase theCase) { this.ProbCase.PROB_PREVENT = new PROB_PREVENT(); this.ProbCase.PROB_PREVENT.PROBCASE_ID = this.ProbCase.PROBCASE_ID; TASK_STATUS task = theCase.TeamTask.TaskList.Where(l => l.TASK_STEP == "7" && l.TASK_TYPE == "C").FirstOrDefault(); int itemseq = 0; foreach (PLANT plant in SQMModelMgr.SelectPlantList(theCase.Entities, theCase.ProbCase.COMPANY_ID, 0)) { PROB_PREVENT_LIST item = new PROB_PREVENT_LIST(); item.PROBCASE_ID = theCase.ProbCase.PROBCASE_ID; item.PREVENT_ITEM = ++itemseq; item.PREVENT_ITEM_TYPE = "L"; item.PREVENT_ITEM_REF = plant.PLANT_ID; if (task != null && task.DUE_DT.HasValue) { item.TARGET_DT = task.DUE_DT; } else { item.TARGET_DT = DateTime.Now.AddDays(10); } this.ProbCase.PROB_PREVENT_LIST.Add(item); } PROB_PREVENT_LIST docitem = new PROB_PREVENT_LIST(); docitem.PROBCASE_ID = theCase.ProbCase.PROBCASE_ID; docitem.PREVENT_ITEM_TYPE = "D"; docitem.PREVENT_ITEM = 1; if (task != null && task.DUE_DT.HasValue) { docitem.TARGET_DT = task.DUE_DT; } else { docitem.TARGET_DT = DateTime.Now.AddDays(10); } this.ProbCase.PROB_PREVENT_LIST.Add(docitem); return(this.ProbCase.PROB_PREVENT); }
public void CreateTaskStatus(TaskStatusCreateModel createModel) { TEAM team = _teamRepository.GetTeamById(createModel.TeamId); if (team != null) { TASK_STATUS status = new TASK_STATUS { NAME = createModel.StatusName, TEAM = team }; if (createModel.IdAfter > 0) { var nextStatus = _taskRepository.GetTaskStatusById(createModel.IdAfter); var prevStatus = nextStatus.PREV_STATUS; status.NEXT_STATUS = nextStatus; status.PREV_STATUS = prevStatus; _taskRepository.CreateTaskStatus(status); nextStatus.PREV_STATUS = status; _taskRepository.UpdateTaskStatus(nextStatus); if (prevStatus != null) { prevStatus.NEXT_STATUS = status; _taskRepository.UpdateTaskStatus(prevStatus); } } else if (createModel.IdAfter == -1) { var oldLastStatus = GetOrderedTaskStatuses(team).FirstOrDefault(x => x.NEXT_STATUS == null); status.PREV_STATUS = oldLastStatus; _taskRepository.CreateTaskStatus(status); oldLastStatus.NEXT_STATUS = status; _taskRepository.UpdateTaskStatus(oldLastStatus); } else { _taskRepository.CreateTaskStatus(status); } } }
public static int NotifyIncidentTaskAssigment(INCIDENT incident, TASK_STATUS theTask, string scopeAction) { int status = 0; PLANT plant = SQMModelMgr.LookupPlant((decimal)incident.DETECT_PLANT_ID); PERSON person = SQMModelMgr.LookupPerson((decimal)theTask.RESPONSIBLE_ID, ""); if (person != null && !string.IsNullOrEmpty(person.EMAIL)) { List <XLAT> XLATList = SQMBasePage.SelectXLATList(new string[3] { "NOTIFY_SCOPE", "NOTIFY_SCOPE_TASK", "NOTIFY_TASK_STATUS" }); string appUrl = SQMSettings.SelectSettingByCode(new PSsqmEntities(), "MAIL", "TASK", "MailURL").VALUE; if (string.IsNullOrEmpty(appUrl)) { appUrl = "the website"; } string emailTo = person.EMAIL; string actionText = XLATList.Where(x => x.XLAT_GROUP == "NOTIFY_SCOPE_TASK" && x.XLAT_CODE == scopeAction).FirstOrDefault().DESCRIPTION; string emailSubject = "Health/Safety Incident " + actionText + ": " + incident.ISSUE_TYPE + " (" + plant.PLANT_NAME + ")"; string emailBody = "You have been assigned to one or more tasks regarding the following Incident: <br/>" + "<br/>" + "Incident ID: " + WebSiteCommon.FormatID(incident.INCIDENT_ID, 6) + "<br/>" + plant.PLANT_NAME + "<br/>" + incident.ISSUE_TYPE + "<br/>" + "<br/>" + incident.DESCRIPTION + "<br/>" + "<br/>" + theTask.DESCRIPTION + "<br/>" + "<br/>" + "Due : " + theTask.DUE_DT.ToString() + "<br/>" + "<br/>" + "Please log in to " + (appUrl + incidentPath) + " to view this incident."; Thread thread = new Thread(() => WebSiteCommon.SendEmail(emailTo, emailSubject, emailBody, "", "web", null)); thread.IsBackground = true; thread.Start(); } return(status); }
protected void BindActionTypeSelect(RadGrid rgActionType, TASK_STATUS action) { List <ActionType> actionTypeList = new List <ActionType>(); foreach (XLAT xlat in XLATList.Where(l => l.XLAT_GROUP == "ACTION_CATEGORY").OrderBy(l => l.SORT_ORDER).ToList()) { ActionType actionType = new ActionType(); actionType.ActionTypeCode = xlat.XLAT_CODE; actionType.ActionDescription = xlat.DESCRIPTION; actionType.ActionSeq = (int)xlat.SORT_ORDER; actionType.Criteria = GetActionTypeCriteria(action, xlat.XLAT_CODE); if (xlat.XLAT_CODE == action.TASK_CATEGORY) { actionType.IsSelected = true; } actionTypeList.Add(actionType); } rgActionType.DataSource = actionTypeList; rgActionType.DataBind(); }
static void PrepareRecipient(TASK_STATUS task) { try { // Mark as notified task.NOTIFY_DT = DateTime.Now; entities.SaveChanges(); // Get recipient information var responsiblePerson = (from p in entities.PERSON.Include("PERSON_RESP") where p.PERSON_ID == task.RESPONSIBLE_ID select p).FirstOrDefault(); // var delegatePerson = (from p in entities.PERSON where p.PERSON_ID == task.DELEGATE_ID select p).FirstOrDefault(); PERSON delegatePerson = null; if (responsiblePerson != null) { if (responsiblePerson.PERSON_RESP != null) { if (responsiblePerson.PERSON_RESP.DELEGATE_1 != null) { delegatePerson = (from p in entities.PERSON where p.PERSON_ID == (decimal)responsiblePerson.PERSON_RESP.DELEGATE_1 select p).FirstOrDefault(); } } } if (responsiblePerson != null) { PrepareEmail(task, responsiblePerson); WriteLine(" -> Sending notification to: " + responsiblePerson.EMAIL); } if (delegatePerson != null) { PrepareEmail(task, delegatePerson); WriteLine(" -> Sending notification to delegate: " + delegatePerson.EMAIL); } } catch (Exception ex) { WriteLine("PrepareRecipient Error: " + ex.ToString()); WriteLine("PrepareRecipient Detailed Error: " + ex.InnerException.ToString()); } }
protected void lblDueDate_OnClick(object sender, EventArgs e) { lblErrorMessage.Text = ""; LinkButton btn = (LinkButton)sender; if (btn == null || string.IsNullOrEmpty(btn.CommandArgument)) { return; } PSsqmEntities ctx = new PSsqmEntities(); int recordType; TaskStatusMgr taskMgr = new TaskStatusMgr().CreateNew(0, 0); TASK_STATUS task = new TASK_STATUS(); AUDIT audit = new AUDIT(); try { decimal recordID = Convert.ToDecimal(btn.CommandArgument.ToString()); if (TaskXLATList == null || TaskXLATList.Count == 0) { TaskXLATList = SQMBasePage.SelectXLATList(new string[5] { "TASK_STATUS", "RECORD_TYPE", "INCIDENT_STATUS", "NOTIFY_SCOPE_TASK", "ACTION_CATEGORY" }); } task = taskMgr.SelectTask(recordID); BindTaskUpdate(task, ""); } catch (Exception ex) { lblErrorMessage.Text = ex.Message.ToString(); } pnlAddTask.Visible = false; pnlUpdateTask.Visible = true; string script = "function f(){OpenUpdateTaskWindow(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true); }
protected void btnTaskComplete_Click(object sender, EventArgs e) { Button btn = (Button)sender; if (btn == null || string.IsNullOrEmpty(btn.CommandArgument)) { return; } TaskStatusMgr taskMgr = new TaskStatusMgr().CreateNew(0, 0); TASK_STATUS task = taskMgr.SelectTask(Convert.ToDecimal(btn.CommandArgument)); task.COMMENTS = tbTaskComments.Text; task.STATUS = ((int)TaskStatus.Complete).ToString(); task = taskMgr.SetTaskComplete(task, SessionManager.UserContext.Person.PERSON_ID); taskMgr.UpdateTask(task); if (OnTaskUpdate != null) { OnTaskUpdate("update"); } }
public TaskStatusEditModel GetTaskStatusForEdit(int statusId, int teamId) { TEAM team = _teamRepository.GetTeamById(teamId); TASK_STATUS status = _taskRepository.GetTaskStatusById(statusId); if (team != null && status != null && status.TEAM == team) { TaskStatusEditModel taskStatus = new TaskStatusEditModel { StatusId = status.ID, TeamId = status.TEAM_ID ?? 0, StatusName = status.NAME }; if (status.TEAM_ID != null) { return(taskStatus); } } return(null); }
protected void Page_PreRender(object sender, EventArgs e) { if (!Page.IsPostBack) { Ucl_DocMgr ucl = (Ucl_DocMgr)this.Master.FindControl("uclDocSelect"); if (ucl != null) { ucl.BindDocumentSelect("SQM", 10, true, true, hfDocviewMessage.Value); ucl.BindDocumentSelect("EHS", 10, true, false, hfDocviewMessage.Value); } if (SessionManager.ReturnObject is TASK_STATUS) { TASK_STATUS task = SessionManager.ReturnObject as TASK_STATUS; ReturnURL = SessionManager.ReturnPath; SessionManager.ClearReturns(); if (task.TASK_STEP == ((int)SysPriv.action).ToString() || task.TASK_STEP == ((int)SysPriv.notify).ToString()) { UpdateSelectedTask(task.TASK_ID); } } } }
public void gvIssueList_OnRowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e) { if ((!e.Row.RowType.ToString().Trim().Equals(System.Web.UI.WebControls.ListItemType.Header.ToString())) & (!e.Row.RowType.ToString().Trim().Equals(System.Web.UI.WebControls.ListItemType.Footer.ToString()))) { try { Label lbl; HiddenField hf = (HiddenField)e.Row.Cells[0].FindControl("hfIssueID"); LinkButton lnk = (LinkButton)e.Row.Cells[0].FindControl("lnkViewIssue_out"); lnk.Text = WebSiteCommon.FormatID(Convert.ToInt32(hf.Value), 6); lbl = (Label)e.Row.Cells[0].FindControl("lblDisposition_Out"); string tempDisposition = lbl.Text; lbl.Text = WebSiteCommon.GetXlatValue("NCDisposition", lbl.Text); lnk = (LinkButton)e.Row.Cells[0].FindControl("lnkIssueDate_Out"); lnk.Text = WebSiteCommon.LocalTime(Convert.ToDateTime(lnk.Text), SessionManager.UserContext.TimeZoneID).ToShortDateString(); lnk = (LinkButton)e.Row.Cells[0].FindControl("lnkIssueTask_out"); lnk.Text = WebSiteCommon.GetXlatValueLong("taskType", lnk.Text); TASK_STATUS task = new TASK_STATUS(); hf = (HiddenField)e.Row.Cells[0].FindControl("hfTaskStatus"); task.TASK_ID = Convert.ToDecimal(hf.Value); hf = (HiddenField)e.Row.Cells[0].FindControl("hfTaskDueDate"); task.DUE_DT = WebSiteCommon.LocalTime(Convert.ToDateTime(hf.Value), SessionManager.UserContext.TimeZoneID); Image img = (Image)e.Row.Cells[0].FindControl("imgTaskStatus"); TaskStatus status = TaskMgr.CalculateTaskStatus(task); img.ImageUrl = TaskMgr.TaskStatusImage(status); img.ToolTip = status.ToString(); } catch { } } }
protected void lnkCreateTasks_Click(object sender, EventArgs e) { TASK_STATUS task = null; localCtx = new PSsqmEntities(); List <TASK_STATUS> alertTaskList = EHSIncidentMgr.GetAlertTaskList(localCtx, LocalIncident.INCIDENT_ID); string[] plantSels = SQMBasePage.GetComboBoxCheckedItems(ddlLocations).Select(l => l.Value).ToArray(); foreach (string sel in plantSels) { if ((task = alertTaskList.Where(l => l.RECORD_SUBID == Convert.ToDecimal(sel)).FirstOrDefault()) == null) { task = new TASK_STATUS(); task.RECORD_TYPE = (int)TaskRecordType.HealthSafetyIncident; task.RECORD_ID = LocalIncident.INCIDENT_ID; // task.DESCRIPTION = tbAlertDesc.Text; task.DETAIL = tbComments.Text; task.RECORD_SUBID = Convert.ToDecimal(sel); task.DUE_DT = rdpDueDate.SelectedDate; List <PERSON> responsibleList = SQMModelMgr.SelectPlantPrivgroupPersonList((decimal)task.RECORD_SUBID, new string[1] { ddlResponsibleGroup.SelectedValue }, false); if (responsibleList.Count > 0) { task.RESPONSIBLE_ID = responsibleList.First().PERSON_ID; } alertTaskList.Add(task); } } if (BindTAlertaskList(alertTaskList) > 0) { btnSave.Enabled = true; } }
public override TASK_STATUS Run(Blackboard blackboard) { TASK_STATUS output = TASK_STATUS.FAILURE; ItemPickup item = blackboard.nearestItem; // If there is an item to get if (item != null) { Vector3 itemDir = item.transform.position - blackboard.survivor.transform.position; // If we don't have a path to follow anymore if (blackboard.pickupPath.Count <= 0) { // Get the item blackboard.survivor.MoveTo(item.transform.position); output = TASK_STATUS.SUCCESS; //Debug.Log("PickupItem - output: " + output + ", item: " + item); } } return(output); }
private IEnumerable <TASK_STATUS> GetOrderedTaskStatuses(TEAM team) { var tmpTaskStatuses = _taskRepository.GetTaskStatusesByTeam(team); if (tmpTaskStatuses != null && tmpTaskStatuses.Count() > 0) { List <TASK_STATUS> taskStatuses = new List <TASK_STATUS>(); var firstStatus = tmpTaskStatuses.FirstOrDefault(x => x.PREV_STATUS == null); taskStatuses.Add(firstStatus); TASK_STATUS lastStatus = firstStatus; while (lastStatus.NEXT_STATUS != null) { TASK_STATUS currStatus = lastStatus.NEXT_STATUS; taskStatuses.Add(currStatus); lastStatus = currStatus; } return(taskStatuses); } else { return(null); } }
public static void CreateOrUpdateTask(decimal incidentId, decimal responsiblePersonId, int recordTypeId, DateTime dueDate) { var entities = new PSsqmEntities(); INCIDENT incident = SelectIncidentById(entities, incidentId); var taskMgr = new TaskStatusMgr(); taskMgr.Initialize(recordTypeId, incidentId); taskMgr.LoadTaskList(recordTypeId, incidentId); TASK_STATUS task = taskMgr.FindTask("0", "T", 0); if (task == null) { task = taskMgr.CreateTask("0", "T", 0, incident.ISSUE_TYPE, dueDate, responsiblePersonId); task.STATUS = ((int)TaskMgr.CalculateTaskStatus(task)).ToString(); } else { task = taskMgr.UpdateTask(task, dueDate, responsiblePersonId, incident.ISSUE_TYPE); } taskMgr.UpdateTaskList(incidentId); }
protected void rgTaskList_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; HiddenField hf; Label lbl; try { TASK_STATUS task = (TASK_STATUS)e.Item.DataItem; LinkButton lnk = (LinkButton)e.Item.FindControl("lbTaskId"); lnk.Text = WebSiteCommon.FormatID(task.TASK_ID, 6); if (task.DESCRIPTION != null) { if (task.DESCRIPTION.Length > 120) { lbl = (Label)e.Item.FindControl("lblDescription"); lbl.Text = task.DESCRIPTION.Substring(0, 117) + "..."; } } lbl = (Label)e.Item.FindControl("lblTaskType"); lbl.Text = TaskXLATList.Where(l => l.XLAT_GROUP == "RECORD_TYPE" && l.XLAT_CODE == task.RECORD_TYPE.ToString()).FirstOrDefault().DESCRIPTION; if (task.TASK_STEP == "350" || task.TASK_STEP == "400") { if (task.RECORD_TYPE == (int)TaskRecordType.Audit && task.RECORD_SUBID > 0) { lbl.Text += (" Exception"); } lbl.Text += (" - " + TaskXLATList.Where(l => l.XLAT_GROUP == "NOTIFY_SCOPE_TASK" && l.XLAT_CODE == task.TASK_STEP).FirstOrDefault().DESCRIPTION); } lbl = (Label)e.Item.FindControl("lblCreateDT"); if (task.CREATE_DT.HasValue) { lbl.Text = Convert.ToDateTime(task.CREATE_DT).ToShortDateString(); } lbl = (Label)e.Item.FindControl("lblDueDT"); if (task.DUE_DT.HasValue) { lbl.Text = Convert.ToDateTime(task.DUE_DT).ToShortDateString(); } lbl = (Label)e.Item.FindControl("lblStatus"); lbl.Text = TaskXLATList.Where(l => l.XLAT_GROUP == "TASK_STATUS" && l.XLAT_CODE == ((int)TaskMgr.CalculateTaskStatus(task)).ToString()).FirstOrDefault().DESCRIPTION_SHORT; lbl = (Label)e.Item.FindControl("lblResponsiblePerson"); PERSON responsiblePerson = new PERSON(); try { PSsqmEntities entities = new PSsqmEntities(); responsiblePerson = SQMModelMgr.LookupPerson((decimal)task.RESPONSIBLE_ID, ""); } catch { } if (responsiblePerson != null) { lbl.Text = SQMModelMgr.FormatPersonListItem(responsiblePerson, false, "LF"); } } catch { } } }
protected List <TASK_STATUS> GetActionListFromGrid() { List <TASK_STATUS> actionList = new List <TASK_STATUS>(); int seqnumber = 0; foreach (RepeaterItem containtem in rptAction.Items) { try { TASK_STATUS action = new TASK_STATUS(); TextBox tbca = (TextBox)containtem.FindControl("tbFinalAction"); RadDropDownList rddlp = (RadDropDownList)containtem.FindControl("rddlActionPerson"); Label lb = (Label)containtem.FindControl("lbItemSeq"); RadDatePicker sd = (RadDatePicker)containtem.FindControl("rdpFinalStartDate"); RadDatePicker cd = (RadDatePicker)containtem.FindControl("rdpFinalCompleteDate"); //CheckBox ic = (CheckBox)containtem.FindControl("cbFinalIsComplete"); action.DESCRIPTION = tbca.Text; action.RESPONSIBLE_ID = (String.IsNullOrEmpty(rddlp.SelectedValue)) ? 0 : Convert.ToInt32(rddlp.SelectedValue); action.TASK_SEQ = Convert.ToInt32(lb.Text); action.DUE_DT = sd.SelectedDate; action.COMPLETE_DT = cd.SelectedDate; HiddenField hf = (HiddenField)containtem.FindControl("hfTaskStatus"); action.STATUS = hf.Value; hf = (HiddenField)containtem.FindControl("hfTaskID"); action.TASK_ID = Convert.ToDecimal(hf.Value); hf = (HiddenField)containtem.FindControl("hfCreateDT"); if (!string.IsNullOrEmpty(hf.Value)) { action.CREATE_DT = DateTime.ParseExact(hf.Value, "M/d/yyyy", null); } hf = (HiddenField)containtem.FindControl("hfRecordID"); action.RECORD_ID = Convert.ToDecimal(hf.Value); hf = (HiddenField)containtem.FindControl("hfRecordType"); action.RECORD_TYPE = Convert.ToInt32(hf.Value); hf = (HiddenField)containtem.FindControl("hfTaskType"); action.TASK_TYPE = hf.Value; hf = (HiddenField)containtem.FindControl("hfTaskStep"); action.TASK_STEP = hf.Value; hf = (HiddenField)containtem.FindControl("hfDetail"); action.DETAIL = hf.Value; hf = (HiddenField)containtem.FindControl("hfComments"); action.COMMENTS = hf.Value; hf = (HiddenField)containtem.FindControl("hfVerification"); action.TASK_VERIFICATION = hf.Value; if (action.COMPLETE_DT.HasValue) { hf = (HiddenField)containtem.FindControl("hfCompleteID"); if (!string.IsNullOrEmpty(hf.Value)) { action.COMPLETE_ID = Convert.ToDecimal(hf.Value); } else { action.COMPLETE_ID = action.RESPONSIBLE_ID; } } hf = (HiddenField)containtem.FindControl("hfActionType"); action.TASK_CATEGORY = hf.Value; if ((tbca = (TextBox)containtem.FindControl("tbComments")) != null && tbca.Visible == true) { action.COMMENTS = tbca.Text; } if ((tbca = (TextBox)containtem.FindControl("tbVerification")) != null && tbca.Visible == true) { action.TASK_VERIFICATION = tbca.Text; } action.TASK_CRITERIA = ""; string criteriaText = ""; RadGrid rg = (RadGrid)containtem.FindControl("rgActionTypeList"); foreach (GridItem item in rg.Items) { hf = (HiddenField)item.FindControl("hfActionType"); tbca = (TextBox)item.FindControl("tbActionCriteria"); criteriaText = tbca.Text.Replace('~', ' '); criteriaText = criteriaText.Replace('|', ' '); action.TASK_CRITERIA += string.IsNullOrEmpty(action.TASK_CRITERIA) ? (hf.Value + "~" + criteriaText) : ("|" + hf.Value + "~" + criteriaText); } actionList.Add(action); } catch { } } return(actionList); }
protected void btnTaskUpdate_Click(object sender, EventArgs e) { PSsqmEntities ctx = new PSsqmEntities(); lblErrorMessage.Text = ""; Button btn = (Button)sender; if (btn == null || string.IsNullOrEmpty(btn.CommandArgument)) { return; } TaskStatusMgr taskMgr = new TaskStatusMgr().CreateNew(0, 0); TASK_STATUS task = taskMgr.SelectTask(Convert.ToDecimal(btn.CommandArgument)); //task.RECORD_TYPE = recordType; //task.RECORD_ID = recordID; //task.RECORD_SUBID = recordSubID; //task.TASK_STEP = taskStep; //task.TASK_TYPE = taskType; //task.TASK_SEQ = 0; task.DUE_DT = rdpTaskDueDT.SelectedDate; //task.RESPONSIBLE_ID = Convert.ToDecimal(ddlAssignPerson.SelectedValue.ToString()); //task.DETAIL = lblTaskDetailValue.Text.ToString(); // this is the original detail, so we don't change it. //task.DESCRIPTION = tbTaskDescription.Text.ToString(); task.COMMENTS = tbTaskComments.Text.ToString(); //task.STATUS = ((int)TaskStatus.New).ToString(); //task.CREATE_DT = SessionManager.UserContext.LocalTime != null ? SessionManager.UserContext.LocalTime : DateTime.UtcNow; //task.CREATE_ID = SessionManager.UserContext.Person.PERSON_ID; taskMgr.UpdateTask(task); taskMgr.UpdateTaskList(task.RECORD_ID); // send email PERSON assignTo = SQMModelMgr.LookupPerson(ctx, (decimal)task.RESPONSIBLE_ID, "", false); EHSNotificationMgr.NotifyTaskAssigment(task, assignTo.PLANT_ID); // reset the fields for the next add ddlAssignPersonAdd.SelectedValue = ""; tbTaskDescriptionAdd.Text = ""; rdpTaskDueDTAdd.SelectedDate = DateTime.Today; if (OnTaskAdd != null) { OnTaskAdd("added", task.RECORD_ID, (decimal)task.RECORD_SUBID); } if (task.RECORD_TYPE == (int)TaskRecordType.Audit) // update the Question Status when adding tasks for an audit followup. { EHSAuditQuestion auditQuestion = EHSAuditMgr.SelectAuditQuestion(task.RECORD_ID, (decimal)task.RECORD_SUBID); if (auditQuestion != null) { auditQuestion.Status = "02"; EHSAuditMgr.UpdateAnswer(auditQuestion); } //SessionManager.ReturnRecordID = task.RECORD_ID; //SessionManager.ReturnObject = "AddTask"; //SessionManager.ReturnStatus = true; } if (Page.Request.Url.ToString().Contains("AssessmentForm")) { // now update the list and stay on the popup if adding through assessment form BindTaskAdd(task.RECORD_TYPE, task.RECORD_ID, (decimal)task.RECORD_SUBID, task.TASK_STEP, task.TASK_TYPE, lblTaskDetailValue.Text.ToString(), assignTo.PLANT_ID, ""); lblErrorMessage.Text = ""; string script = "function f(){OpenUpdateTaskWindow(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true); } else { SessionManager.ReturnRecordID = task.RECORD_ID; SessionManager.ReturnObject = "UpdateTask"; SessionManager.ReturnStatus = true; if (OnTaskUpdate != null) { OnTaskUpdate("update"); } } }
public bool UpdateTaskComplete(TASK_STATUS task) { return(UpdateTaskComplete(task, true)); }
public void rptAction_OnItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) { int minRowsToValidate = 1; try { TASK_STATUS action = (TASK_STATUS)e.Item.DataItem; string addFields = SessionManager.GetUserSetting("EHS", "ACTION_ADD_FIELDS") == null ? "" : SessionManager.GetUserSetting("EHS", "ACTION_ADD_FIELDS").VALUE; //EHSSettings.Where(s => s.SETTING_CD == "ACTION_ADD_FIELDS").FirstOrDefault() == null ? "" : EHSSettings.Where(s => s.SETTING_CD == "ACTION_ADD_FIELDS").FirstOrDefault().VALUE; HiddenField hf; System.Web.UI.HtmlControls.HtmlTableRow tr; TextBox tbca = (TextBox)e.Item.FindControl("tbFinalAction"); RadDropDownList rddlp = (RadDropDownList)e.Item.FindControl("rddlActionPerson"); Label lb = (Label)e.Item.FindControl("lbItemSeq"); RadDatePicker sd = (RadDatePicker)e.Item.FindControl("rdpFinalStartDate"); sd = SQMBasePage.SetRadDateCulture(sd, ""); RadDatePicker cd = (RadDatePicker)e.Item.FindControl("rdpFinalCompleteDate"); cd = SQMBasePage.SetRadDateCulture(cd, ""); //CheckBox ic = (CheckBox)e.Item.FindControl("cbFinalIsComplete"); RadButton itmdel = (RadButton)e.Item.FindControl("btnItemDelete"); if (addFields.Contains("type")) { tr = (System.Web.UI.HtmlControls.HtmlTableRow)e.Item.FindControl("trActionType"); tr.Visible = true; hf = (HiddenField)e.Item.FindControl("hfActionType"); hf.Value = action.TASK_CATEGORY; RadGrid rgActionType = (RadGrid)e.Item.FindControl("rgActionTypeList"); BindActionTypeSelect(rgActionType, action); XLAT xlat = XLATList.Where(l => l.XLAT_GROUP == "ACTION_CATEGORY" && l.XLAT_CODE == action.TASK_CATEGORY).FirstOrDefault(); if (xlat != null) { lb = (Label)e.Item.FindControl("lblActionType"); lb.Text = xlat.DESCRIPTION; Image img = (Image)e.Item.FindControl("imgActionType"); switch (xlat.SORT_ORDER) { case 1: img.ImageUrl = "~/images/defaulticon/16x16/arrow-1-up.png"; break; case 2: img.ImageUrl = "~/images/defaulticon/16x16/arrow-1-up-right.png"; break; case 3: img.ImageUrl = "~/images/defaulticon/16x16/3D-plane.png"; break; case 4: img.ImageUrl = "~/images/defaulticon/16x16/arrow-1-down-right.png"; break; default: img.ImageUrl = "~/images/defaulticon/16x16/arrow-1-down.png"; break; } } } rddlp.Items.Add(new DropDownListItem("", "")); List <PERSON> personList = personList = EHSIncidentMgr.SelectIncidentPersonList(LocalIncident, true); foreach (PERSON p in personList) { string displayName = string.Format("{0}, {1} ({2})", p.LAST_NAME, p.FIRST_NAME, p.EMAIL); rddlp.Items.Add(new DropDownListItem(displayName, Convert.ToString(p.PERSON_ID))); } lb = (Label)e.Item.FindControl("lbItemSeq"); lb.Text = action.TASK_SEQ.ToString(); tbca.Text = action.DESCRIPTION; if (action.RESPONSIBLE_ID != null) { rddlp.SelectedValue = action.RESPONSIBLE_ID.ToString(); } if (action.DUE_DT.HasValue) { sd.SelectedDate = action.DUE_DT; } hf = (HiddenField)e.Item.FindControl("hfTaskStatus"); hf.Value = action.STATUS; hf = (HiddenField)e.Item.FindControl("hfTaskID"); hf.Value = action.TASK_ID.ToString(); hf = (HiddenField)e.Item.FindControl("hfRecordType"); hf.Value = action.RECORD_TYPE.ToString(); hf = (HiddenField)e.Item.FindControl("hfRecordID"); hf.Value = action.RECORD_ID.ToString(); hf = (HiddenField)e.Item.FindControl("hfTaskStep"); hf.Value = action.TASK_STEP; hf = (HiddenField)e.Item.FindControl("hfTaskType"); hf.Value = action.TASK_TYPE; hf = (HiddenField)e.Item.FindControl("hfDetail"); hf.Value = action.DETAIL; hf = (HiddenField)e.Item.FindControl("hfComments"); hf.Value = action.COMMENTS; hf = (HiddenField)e.Item.FindControl("hfVerification"); hf.Value = action.TASK_VERIFICATION; if (action.COMPLETE_DT.HasValue) { cd.SelectedDate = action.COMPLETE_DT; hf = (HiddenField)e.Item.FindControl("hfCompleteID"); if (action.COMPLETE_ID.HasValue) { hf.Value = action.COMPLETE_ID.ToString(); } } if (action.CREATE_DT.HasValue) { hf = (HiddenField)e.Item.FindControl("hfCreateDT"); DateTime dt = Convert.ToDateTime(action.CREATE_DT); hf.Value = dt.ToString("M/d/yyyy"); } if (addFields.Contains("comment")) { tr = (System.Web.UI.HtmlControls.HtmlTableRow)e.Item.FindControl("trComments"); tr.Visible = true; tbca = (TextBox)e.Item.FindControl("tbComments"); tbca.Text = action.COMMENTS; } if (addFields.Contains("verify")) { tr = (System.Web.UI.HtmlControls.HtmlTableRow)e.Item.FindControl("trVerification"); tr.Visible = true; tbca = (TextBox)e.Item.FindControl("tbVerification"); tbca.Text = action.TASK_VERIFICATION; } itmdel.Visible = PageMode == PageUseMode.ViewOnly ? false : EHSIncidentMgr.CanUpdateIncident(LocalIncident, IsEditContext, SysPriv.action, LocalIncident.INCFORM_LAST_STEP_COMPLETED); } catch { } } btnSave.Visible = btnAddFinal.Visible = PageMode == PageUseMode.ViewOnly ? false : EHSIncidentMgr.CanUpdateIncident(LocalIncident, IsEditContext, SysPriv.action, LocalIncident.INCFORM_LAST_STEP_COMPLETED); }
protected void rgAlertTaskList_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; HiddenField hf; Label lbl; RadComboBox ddl = null; PERSON responsiblePerson = null; try { TASK_STATUS task = (TASK_STATUS)e.Item.DataItem; hf = (HiddenField)e.Item.FindControl("hfTaskID"); hf.Value = task.TASK_ID > 0 ? task.TASK_ID.ToString() : ""; hf = (HiddenField)e.Item.FindControl("hfLocation"); hf.Value = task.RECORD_SUBID.ToString(); lbl = (Label)e.Item.FindControl("lblLocation"); PLANT plant = SQMModelMgr.LookupPlant((decimal)task.RECORD_SUBID); if (plant != null) { lbl.Text = plant.PLANT_NAME; hf = (HiddenField)e.Item.FindControl("hfLocationTZ"); hf.Value = plant.LOCAL_TIMEZONE; } else { lbl.Text = task.RECORD_SUBID.ToString(); } lbl = (Label)e.Item.FindControl("lblTaskComments"); lbl.Text = task.COMMENTS; if (task.COMPLETE_DT.HasValue) { lbl = (Label)e.Item.FindControl("lblTaskCompleteDT"); lbl.Text = Convert.ToDateTime(task.COMPLETE_DT).ToShortDateString(); } ddl = (RadComboBox)e.Item.FindControl("ddlResponsible"); List <PERSON> responsibleList = SQMModelMgr.SelectPlantPrivgroupPersonList((decimal)task.RECORD_SUBID, new string[1] { ddlResponsibleGroup.SelectedValue }, false); if (responsibleList.Count > 0) { foreach (PERSON person in responsibleList) { ddl.Items.Add(new RadComboBoxItem(SQMModelMgr.FormatPersonListItem(person), person.PERSON_ID.ToString())); } } if (task.RESPONSIBLE_ID.HasValue) { if ((responsiblePerson = SQMModelMgr.LookupPerson((decimal)task.RESPONSIBLE_ID, "")) != null) { if (ddl.Items.FindItemByValue(responsiblePerson.PERSON_ID.ToString()) != null) { ddl.SelectedValue = responsiblePerson.PERSON_ID.ToString(); } else { ddl.Items.Add(new RadComboBoxItem(SQMModelMgr.FormatPersonListItem(responsiblePerson), responsiblePerson.PERSON_ID.ToString())); } } } if (task.COMPLETE_DT.HasValue) { ddl.Enabled = false; } } catch { } } }
public bool BindTaskComplete(TASK_STATUS task) { return(BindTaskComplete(task, "")); }
protected void lnkTask_Click(object sender, EventArgs e) { string cmd = ""; if (sender is ImageButton) { ImageButton btn = (ImageButton)sender; cmd = btn.CommandArgument.ToString().Trim(); } else { LinkButton lnk = (LinkButton)sender; cmd = lnk.CommandArgument.ToString().Trim(); } if (OnTaskListClick != null) { OnTaskListClick(cmd); } else { string[] args = cmd.Split('|'); TaskRecordType taskType = (TaskRecordType)Enum.Parse(typeof(TaskRecordType), args[0]); switch (taskType) { case TaskRecordType.QualityIssue: QI_OCCUR qiOccur = new QI_OCCUR(); qiOccur.INCIDENT_ID = Convert.ToDecimal(args[1]); SessionManager.ReturnObject = qiOccur; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Url.PathAndQuery; Response.Redirect("/Quality/Quality_Issue.aspx?c=" + args[2]); break; case TaskRecordType.ProblemCase: try { //string[] datas = args[1].Split('~'); TASK_STATUS task = new TASK_STATUS(); task.RECORD_ID = Convert.ToDecimal(args[1]); task.TASK_STEP = args[2]; SessionManager.ReturnObject = task; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Url.PathAndQuery; Response.Redirect("/Problem/Problem_Case.aspx"); } catch (Exception ex) { //SQMLogger.LogException(ex); } break; case TaskRecordType.ProfileInput: case TaskRecordType.ProfileInputApproval: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Url.PathAndQuery; Response.Redirect("/EHS/EHS_MetricInput.aspx"); break; case TaskRecordType.ProfileInputFinalize: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Url.PathAndQuery; Response.Redirect("/EHS/EHS_Console.aspx"); break; break; case TaskRecordType.HealthSafetyIncident: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Url.PathAndQuery; Response.Redirect("/EHS/EHS_Incidents.aspx"); break; case TaskRecordType.PreventativeAction: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Url.PathAndQuery; Response.Redirect("/EHS/EHS_Incidents.aspx?mode=prevent"); break; case TaskRecordType.Audit: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Url.PathAndQuery; Response.Redirect("/EHS/EHS_Audits.aspx"); break; case TaskRecordType.CurrencyInput: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Url.PathAndQuery; Response.Redirect("/Admin/Administrate_CurrencyInput.aspx"); break; default: break; } } }
protected void btnTaskAssign_Click(object sender, EventArgs e) { PSsqmEntities ctx = new PSsqmEntities(); Button btn = (Button)sender; if (btn == null || string.IsNullOrEmpty(btn.CommandArgument)) { return; } TaskStatusMgr taskMgr = new TaskStatusMgr().CreateNew(0, 0); TASK_STATUS task = taskMgr.SelectTask(Convert.ToDecimal(btn.CommandArgument)); btnAssignSave.CommandArgument = task.TASK_ID.ToString(); decimal plantID = GetTaskLocation(task); BusinessLocation location = new BusinessLocation().Initialize(plantID); // AW 20161229 - if they get this far, they can assign the task to anyone in a plant that they have access... //SysPriv maxPriv = UserContext.GetMaxScopePrivilege(SysScope.busloc); //if (maxPriv <= SysPriv.config) // is a plant admin or greater ? //{ List <BusinessLocation> locationList = SessionManager.PlantList; locationList = UserContext.FilterPlantAccessList(locationList); if (locationList.Select(l => l.Plant.BUS_ORG_ID).Distinct().Count() > 1 && SessionManager.IsUserAgentType("ipad,iphone") == false) { ddlScheduleScope.Visible = false; mnuScheduleScope.Visible = true; SQMBasePage.SetLocationList(mnuScheduleScope, locationList, location.Plant.PLANT_ID, location.Plant.PLANT_NAME, "TOP", true); //RadMenuItem mi = new RadMenuItem(); //mi.Text = (SessionManager.UserContext.Person.FIRST_NAME + " " + SessionManager.UserContext.Person.LAST_NAME); //mi.Value = "0"; //mi.ImageUrl = "~/images/defaulticon/16x16/user-alt-2.png"; //mnuScheduleScope.Items[0].Items.Insert(0, mi); } else { ddlScheduleScope.Visible = true; mnuScheduleScope.Visible = false; SQMBasePage.SetLocationList(ddlScheduleScope, locationList, location.Plant.PLANT_ID, true); } //} //else //{ // ddlScheduleScope.Visible = true; // mnuScheduleScope.Visible = false; // //ddlScheduleScope.Items.Insert(0, new RadComboBoxItem((SessionManager.UserContext.Person.FIRST_NAME + " " + SessionManager.UserContext.Person.LAST_NAME), "0")); // //ddlScheduleScope.Items[0].ImageUrl = "~/images/defaulticon/16x16/user-alt-2.png"; //} List <PERSON> personList = SQMModelMgr.SelectPlantPersonList(1, plantID).Where(l => !string.IsNullOrEmpty(l.EMAIL)).OrderBy(l => l.LAST_NAME).ToList(); SQMBasePage.SetPersonList(ddlAssignPerson, personList, "", 0, false, "LF"); tbAssignComment.Text = task.COMMENTS; string script = "function f(){OpenAssignTaskWindow(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true); }
protected void Page_PreRender(object sender, EventArgs e) { if (!Page.IsPostBack) { uclSearchBar.PageTitle.Text = lblProbCaseTitle.Text; CaseCtl().isDirected = false; Ucl_DocMgr ucl = (Ucl_DocMgr)this.Master.FindControl("uclDocSelect"); if (ucl != null) { ucl.BindDocumentSelect(CaseCtl().Context == "EHS" ? CaseCtl().Context : "SQM", 0, true); } if (ddlPlantSelect.Items.Count < 1) { List <PLANT> plantList = SQMModelMgr.SelectPlantList(entities, SQMModelMgr.LookupPrimaryCompany(entities).COMPANY_ID, 0); ddlPlantSelect.Items.Clear(); foreach (PLANT plant in plantList) { if (SessionManager.PlantAccess(plant.PLANT_ID)) { RadComboBoxItem item = new RadComboBoxItem(plant.PLANT_NAME, plant.PLANT_ID.ToString()); item.CssClass = "prompt"; item.Checked = true; ddlPlantSelect.Items.Add(item); } } ddlStatusSelect.SelectedValue = "A"; } // create new case from quality issue if ((bool)SessionManager.ReturnStatus) { if (SessionManager.ReturnObject is QI_OCCUR) { QI_OCCUR qiIssue = (QI_OCCUR)SessionManager.ReturnObject; CaseCtl().CreateNew("QI", SessionManager.PrimaryCompany().COMPANY_ID, SessionManager.UserContext.Person); CaseCtl().isAutoCreated = true; CaseCtl().problemCase.ProbCase.DESC_LONG = qiIssue.INCIDENT.DESCRIPTION; CaseCtl().problemCase.AddIncident(qiIssue.INCIDENT_ID); uclCaseEdit.BindIncidentList(CaseCtl().problemCase.IncidentList); uclCaseEdit.BindPartIssueItemList(CaseCtl().problemCase.PartIssueItemList); } else if (SessionManager.ReturnObject is TASK_STATUS) { // from inbox CaseCtl().isDirected = true; uclSearchBar.ReturnButton.Text = lblReturnInbox.Text; TASK_STATUS task = (TASK_STATUS)SessionManager.ReturnObject; uclCaseList_Click(task.RECORD_ID); if (CaseCtl().problemCase.CheckCaseNextStep() >= Convert.ToInt32(task.TASK_STEP)) { PageTabClicked("lbTab" + task.TASK_STEP, task.TASK_STEP); } else { PageTabClicked("lbTab0", "0"); } } else if (SessionManager.ReturnObject is decimal) { // from console list uclCaseList_Click((decimal)SessionManager.ReturnObject); PageTabClicked("lbTab0", "0"); } else if (SessionManager.ReturnObject is INCIDENT) { // Problem case from EHS Incident INCIDENT incident = (INCIDENT)SessionManager.ReturnObject; decimal locationId = EHSIncidentMgr.SelectIncidentLocationIdByIncidentId(incident.INCIDENT_ID); CaseCtl().CreateNew("EHS", SessionManager.PrimaryCompany().COMPANY_ID, SessionManager.UserContext.Person); CaseCtl().problemCase.ProbCase.DESC_SHORT = incident.ISSUE_TYPE; CaseCtl().problemCase.ProbCase.DESC_LONG = incident.DESCRIPTION; CaseCtl().problemCase.ProbCase.PROBCASE_TYPE = "EHS"; CaseCtl().problemCase.AddIncident(incident.INCIDENT_ID); uclCaseEdit.BindIncidentList(CaseCtl().problemCase.IncidentList); if (CaseCtl().problemCase.ProbCase.PROB_DEFINE == null) { CaseCtl().problemCase.CreateProblemDefinition(); } CaseCtl().isAutoCreated = true; } else { uclSearchBar_OnSearchClick(); } } else { uclSearchBar_OnSearchClick(); } } else { /* add incidents from qi issue popup list */ if ((bool)SessionManager.ReturnStatus) { if (SessionManager.ReturnObject.GetType().ToString().ToUpper().Contains("INCIDENT")) { List <INCIDENT> incidentList = (List <INCIDENT>)SessionManager.ReturnObject; foreach (INCIDENT incident in incidentList) { CaseCtl().problemCase.AddIncident(incident.INCIDENT_ID); } uclCaseEdit.BindIncidentList(CaseCtl().problemCase.IncidentList); uclCaseEdit.BindPartIssueItemList(CaseCtl().problemCase.PartIssueItemList); PageTabClicked("lbTab0", "0"); } else if (SessionManager.ReturnObject == "DisplayCases") { uclSearchBar_OnSearchClick(); SessionManager.ClearReturns(); } } } SessionManager.ClearReturns(); if (CaseCtl().isAutoCreated) { CaseCtl().Update(); SetupPage(); PageTabClicked("lbTab0", "0"); } }
static void PrepareEmail(TASK_STATUS task, PERSON recipient) { try { // Get task information //var taskList = (from t in entities.TASKLIST where t.TASKLIST_ID == task.TASKLIST_ID select t).FirstOrDefault(); TaskListRecordType recordType = (TaskListRecordType)task.RECORD_TYPE; string typeName = ""; string description = ""; if (recordType == TaskListRecordType.Incident) { typeName = "Incident"; description += (from i in entities.INCIDENT where i.INCIDENT_ID == task.RECORD_ID select i.ISSUE_TYPE + ": " + i.DESCRIPTION).FirstOrDefault(); var qiOccurrance = (from qi in entities.QI_OCCUR where qi.INCIDENT_ID == task.RECORD_ID select qi).FirstOrDefault(); string dispDetails = ""; if (qiOccurrance != null) { description += "<ul>"; if (qiOccurrance.PROBCASE_REQD == true) { description += "A problem case has been created for this incident.<br/>"; } if (!string.IsNullOrEmpty(qiOccurrance.DISPOSITION)) { dispDetails = (from dd in entities.QI_OCCUR_DISPOSITION where dd.DISPOSITION_ID == qiOccurrance.DISPOSITION select dd.TITLE + " - " + dd.DESCRIPTION).FirstOrDefault(); } if (!string.IsNullOrEmpty(dispDetails)) { description += "<li>Disposition: " + dispDetails + "</li>"; } description += "</ul>"; } } else if (recordType == TaskListRecordType.ProblemCase) { typeName = "Problem Case"; description += (from p in entities.PROB_CASE where p.PROBCASE_ID == task.RECORD_ID select p.DESC_SHORT + ": " + p.DESC_LONG).FirstOrDefault(); decimal stepId; if (decimal.TryParse(task.TASK_STEP, out stepId)) { var step = (from s in entities.PROB_CASE_STEP where s.STEP_ID == stepId select s).FirstOrDefault(); if (step != null) { description += "Step " + stepId + ": " + step.STEP_DESCRIPTION + "<br/><br/>"; } } } string url = "http://pssqm.luxinteractive.com/"; string body = ""; body += "The following " + typeName + " is still open:<br/><br/>"; body += description; body += "<br/><br/>"; body += "To update this " + typeName + ", please visit:<br/>"; body += "<a href=\"" + url + "\">" + url + "</a>"; body += "<br/><br/>Please Do Not Reply To This Message"; // AW20140129 string toEmail = recipient.EMAIL; string subject = WebSiteCommon.GetXlatValue("emailSettings", "companyName") + " Reminder Notification"; string bcc = ""; SQM.Website.WebSiteCommon.SendEmail(toEmail, subject, body, bcc); //SendEmail(recipient, body); } catch (Exception ex) { WriteLine("PrepareEmail Error: " + ex.ToString()); WriteLine("PrepareEmail Detailed Error: " + ex.InnerException.ToString()); } }
protected void btnConversion_Click(object sender, EventArgs e) { int status = 0; INCIDENT_ANSWER answer = null; List <XLAT> xlatList = SQMBasePage.SelectXLATList(new string[6] { "SHIFT", "INJURY_CAUSE", "INJURY_TYPE", "INJURY_PART", "INJURY_TENURE", "IQ_10" }); foreach (EHSIncidentData eda in HSCalcs().ehsCtl.IncidentHst.Where(i => i.Incident.INCFORM_LAST_STEP_COMPLETED < 1 && i.Incident.INCIDENT_ID > 0)) { INCIDENT incident = (from i in entities.INCIDENT where i.INCIDENT_ID == eda.Incident.INCIDENT_ID select i).SingleOrDefault(); incident.INCIDENT_ANSWER.Load(); // clear any prior conversion reecords string delCmd = " = " + incident.INCIDENT_ID.ToString(); status = entities.ExecuteStoreCommand("DELETE FROM TASK_STATUS WHERE RECORD_TYPE = 40 AND RECORD_ID" + delCmd); status = entities.ExecuteStoreCommand("DELETE FROM INCFORM_LOSTTIME_HIST WHERE INCIDENT_ID" + delCmd); status = entities.ExecuteStoreCommand("DELETE FROM INCFORM_CONTAIN WHERE INCIDENT_ID" + delCmd); status = entities.ExecuteStoreCommand("DELETE FROM INCFORM_ACTION WHERE INCIDENT_ID" + delCmd); status = entities.ExecuteStoreCommand("DELETE FROM INCFORM_ROOT5Y WHERE INCIDENT_ID" + delCmd); status = entities.ExecuteStoreCommand("DELETE FROM INCFORM_CAUSATION WHERE INCIDENT_ID" + delCmd); status = entities.ExecuteStoreCommand("DELETE FROM INCFORM_APPROVAL WHERE INCIDENT_ID" + delCmd); status = entities.ExecuteStoreCommand("DELETE FROM INCFORM_WITNESS WHERE INCIDENT_ID" + delCmd); status = entities.ExecuteStoreCommand("DELETE FROM INCFORM_INJURYILLNESS WHERE INCIDENT_ID" + delCmd); EHSIncidentTypeId issueType = (EHSIncidentTypeId)incident.ISSUE_TYPE_ID; try { switch (issueType) { case EHSIncidentTypeId.PropertyDamage: case EHSIncidentTypeId.PowerOutage: case EHSIncidentTypeId.Fire: case EHSIncidentTypeId.Explosion: case EHSIncidentTypeId.ImsAudit: case EHSIncidentTypeId.RegulatoryContact: case EHSIncidentTypeId.FireSystemImpairment: case EHSIncidentTypeId.SpillRelease: case EHSIncidentTypeId.EhsWalk: case EHSIncidentTypeId.NearMiss: case EHSIncidentTypeId.InjuryIllness: incident.INCFORM_LAST_STEP_COMPLETED = 100; // assume new status answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 69).FirstOrDefault(); // containment if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { incident.INCFORM_LAST_STEP_COMPLETED = 110; // containment INCFORM_CONTAIN contain = new INCFORM_CONTAIN(); contain.INCIDENT_ID = incident.INCIDENT_ID; contain.ITEM_SEQ = 1; contain.ITEM_DESCRIPTION = answer.ANSWER_VALUE; contain.ASSIGNED_PERSON_ID = incident.CREATE_PERSON; contain.START_DATE = contain.COMPLETION_DATE = incident.CREATE_DT; contain.IsCompleted = true; contain.LAST_UPD_BY = SessionManager.UserContext.UserName(); contain.LAST_UPD_DT = DateTime.UtcNow; entities.AddToINCFORM_CONTAIN(contain); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 24).FirstOrDefault(); // root cause if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { incident.INCFORM_LAST_STEP_COMPLETED = 120; // root cause INCFORM_ROOT5Y rootc = new INCFORM_ROOT5Y(); rootc.INCIDENT_ID = incident.INCIDENT_ID; rootc.ITEM_SEQ = 1; rootc.ITEM_DESCRIPTION = answer.ANSWER_VALUE; rootc.LAST_UPD_BY = SessionManager.UserContext.UserName(); rootc.LAST_UPD_DT = DateTime.UtcNow; entities.AddToINCFORM_ROOT5Y(rootc); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 78).FirstOrDefault(); // causation if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { incident.INCFORM_LAST_STEP_COMPLETED = 125; // causation INCFORM_CAUSATION cause = new INCFORM_CAUSATION(); cause.INCIDENT_ID = incident.INCIDENT_ID; cause.CAUSEATION_CD = xlatList.Where(l => l.XLAT_GROUP == "INJURY_CAUSE" && l.DESCRIPTION == answer.ANSWER_VALUE).FirstOrDefault() == null ? "1000" : xlatList.Where(l => l.XLAT_GROUP == "INJURY_CAUSE" && l.DESCRIPTION == answer.ANSWER_VALUE).FirstOrDefault().XLAT_CODE; cause.LAST_UPD_BY = SessionManager.UserContext.UserName(); cause.LAST_UPD_DT = DateTime.UtcNow; entities.AddToINCFORM_CAUSATION(cause); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 27).FirstOrDefault(); // corrective action if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { incident.INCFORM_LAST_STEP_COMPLETED = 130; // corrective action TASK_STATUS action = new TASK_STATUS(); action.RECORD_TYPE = (int)TaskRecordType.HealthSafetyIncident; action.RECORD_ID = incident.INCIDENT_ID; action.TASK_STEP = ((int)SysPriv.action).ToString(); action.TASK_SEQ = 0; action.RECORD_SUBID = 0; action.TASK_TYPE = "T"; action.TASK_SEQ = 0; action.DESCRIPTION = answer.ANSWER_VALUE; action.DETAIL = incident.DESCRIPTION; action.STATUS = "1"; action.CREATE_ID = action.RESPONSIBLE_ID = action.COMPLETE_ID = incident.CREATE_PERSON; // default action values action.CREATE_DT = action.DUE_DT = action.COMPLETE_DT = incident.CREATE_DT; answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 79).FirstOrDefault(); // responsible if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { action.RESPONSIBLE_ID = action.COMPLETE_ID = decimal.Parse(answer.ANSWER_VALUE); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 65).FirstOrDefault(); // action due date if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { action.DUE_DT = DateTime.ParseExact(answer.ANSWER_VALUE, "M/d/yyyy hh:mm:ss tt", null); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 66).FirstOrDefault(); // action complete date if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { action.COMPLETE_DT = DateTime.ParseExact(answer.ANSWER_VALUE, "M/d/yyyy hh:mm:ss tt", null); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 70).FirstOrDefault(); // verification ? if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { action.COMMENTS = answer.ANSWER_VALUE; } entities.AddToTASK_STATUS(action); } if (incident.CLOSE_DATE_DATA_COMPLETE.HasValue || incident.CLOSE_DATE.HasValue) { incident.INCFORM_LAST_STEP_COMPLETED = 151; // signoff INCFORM_APPROVAL approval = new INCFORM_APPROVAL(); approval.INCIDENT_ID = incident.INCIDENT_ID; approval.ITEM_SEQ = (int)SysPriv.approve1; approval.APPROVAL_DATE = incident.CLOSE_DATE.HasValue ? incident.CLOSE_DATE : incident.CLOSE_DATE_DATA_COMPLETE; approval.IsAccepted = true; approval.APPROVER_PERSON_ID = incident.CLOSE_PERSON.HasValue ? incident.CLOSE_PERSON : incident.CREATE_PERSON; PERSON person = (from p in entities.PERSON where p.PERSON_ID == approval.APPROVER_PERSON_ID select p).FirstOrDefault(); approval.APPROVAL_MESSAGE = approval.APPROVER_PERSON = (person.FIRST_NAME + " " + person.LAST_NAME); answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 67).FirstOrDefault(); // completed by if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { approval.APPROVAL_MESSAGE = approval.APPROVER_PERSON = answer.ANSWER_VALUE; string[] names = answer.ANSWER_VALUE.ToLower().Split(' '); if (names.Length > 1) { string firstName = names[0]; string lastnamne = names[1]; person = (from p in entities.PERSON where p.FIRST_NAME.ToLower() == firstName && p.LAST_NAME.ToLower() == lastnamne select p).FirstOrDefault(); } } if (person != null) { approval.APPROVER_PERSON_ID = person.PERSON_ID; approval.APPROVER_TITLE = person.JOB_TITLE; } entities.AddToINCFORM_APPROVAL(approval); } if (issueType == EHSIncidentTypeId.InjuryIllness) { INCFORM_INJURYILLNESS inRec = new INCFORM_INJURYILLNESS(); INCFORM_WITNESS witness = new INCFORM_WITNESS(); INCFORM_LOSTTIME_HIST hist = new INCFORM_LOSTTIME_HIST(); inRec.INCIDENT_ID = incident.INCIDENT_ID; answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 6).FirstOrDefault(); // shift inRec.SHIFT = GetXLATCode(xlatList, "SHIFT", answer.ANSWER_VALUE); answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 7).FirstOrDefault(); // department if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.DEPARTMENT = answer.ANSWER_VALUE; DEPARTMENT dept = (from d in entities.DEPARTMENT where d.DEPT_NAME.ToLower() == answer.ANSWER_VALUE.ToLower() select d).SingleOrDefault(); if (dept != null) { inRec.DEPT_ID = dept.DEPT_ID; } } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 8).FirstOrDefault(); // involved person if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.INVOLVED_PERSON_NAME = answer.ANSWER_VALUE; } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 4).FirstOrDefault(); // supervisor inform date if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.SUPERVISOR_INFORMED_DT = DateTime.ParseExact(answer.ANSWER_VALUE, "M/d/yyyy hh:mm:ss tt", null); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 5).FirstOrDefault(); // time of incident if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.INCIDENT_TIME = TimeSpan.Parse(answer.ANSWER_VALUE); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 9).FirstOrDefault(); // witness if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE) && answer.ANSWER_VALUE.Split(' ').Length > 1) { witness.INCIDENT_ID = incident.INCIDENT_ID; witness.WITNESS_NO = 1; witness.WITNESS_NAME = answer.ANSWER_VALUE; witness.LAST_UPD_BY = SessionManager.UserContext.UserName(); witness.LAST_UPD_DT = DateTime.UtcNow; entities.AddToINCFORM_WITNESS(witness); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 10).FirstOrDefault(); // inside/outside if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.INSIDE_OUTSIDE_BLDNG = GetXLATCode(xlatList, "IQ_10", answer.ANSWER_VALUE); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 11).FirstOrDefault(); // weather if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { ; // NO FIELD } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 12).FirstOrDefault(); // injury type if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.INJURY_TYPE = GetXLATCode(xlatList, "INJURY_TYPE", answer.ANSWER_VALUE); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 13).FirstOrDefault(); // body part if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.INJURY_BODY_PART = GetXLATCode(xlatList, "INJURY_PART", answer.ANSWER_VALUE); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 15).FirstOrDefault(); // reocurrance if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.REOCCUR = answer.ANSWER_VALUE.ToLower() == "yes" ? true : false; } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 16).FirstOrDefault(); // first aid case if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.FIRST_AID = answer.ANSWER_VALUE.ToLower() == "yes" ? true : false; } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 37).FirstOrDefault(); // employee if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.COMPANY_SUPERVISED = answer.ANSWER_VALUE.ToLower() == "yes" ? true : false; } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 58).FirstOrDefault(); // specific description if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.DESCRIPTION_LOCAL = answer.ANSWER_VALUE; } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 62).FirstOrDefault(); // recordable if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.RECORDABLE = answer.ANSWER_VALUE.ToLower() == "yes" ? true : false; } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 63).FirstOrDefault(); // lost time case if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.LOST_TIME = answer.ANSWER_VALUE.ToLower() == "yes" ? true : false; if (inRec.LOST_TIME) { hist.INCIDENT_ID = incident.INCIDENT_ID; hist.WORK_STATUS = "03"; hist.ITEM_DESCRIPTION = "Lost Time"; hist.BEGIN_DT = incident.INCIDENT_DT; answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 3).FirstOrDefault(); // expected return date if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { hist.RETURN_EXPECTED_DT = DateTime.ParseExact(answer.ANSWER_VALUE, "M/d/yyyy hh:mm:ss tt", null); } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 55).FirstOrDefault(); // actual return date if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { hist.RETURN_TOWORK_DT = DateTime.ParseExact(answer.ANSWER_VALUE, "M/d/yyyy hh:mm:ss tt", null); } hist.LAST_UPD_BY = SessionManager.UserContext.UserName(); hist.LAST_UPD_DT = DateTime.UtcNow; entities.AddToINCFORM_LOSTTIME_HIST(hist); } } answer = incident.INCIDENT_ANSWER.Where(a => a.INCIDENT_QUESTION_ID == 74).FirstOrDefault(); // occupational event ? if (answer != null && !string.IsNullOrEmpty(answer.ANSWER_VALUE)) { inRec.STD_PROCS_FOLLOWED = answer.ANSWER_VALUE.ToLower() == "yes" ? true : false; // map to std procedures ? } entities.AddToINCFORM_INJURYILLNESS(inRec); } status = entities.SaveChanges(); break; case EHSIncidentTypeId.PreventativeAction: break; default: break; } } catch { decimal id; id = incident.INCIDENT_ID; } } }
// TASK_TYPE に対する拡張メソッドの定義 public static string DisplayName(this TASK_STATUS type) { string[] names = { "未実行", "実行中", "完了" }; return(names[(int)type]); }
protected void lnkTask_Click(object sender, EventArgs e) { string cmd = ""; if (sender is ImageButton) { ImageButton btn = (ImageButton)sender; cmd = btn.CommandArgument.ToString().Trim(); } else { LinkButton lnk = (LinkButton)sender; cmd = lnk.CommandArgument.ToString().Trim(); } if (OnTaskListClick != null) { OnTaskListClick(cmd); } else { string[] args = cmd.Split('|'); TaskRecordType taskType = (TaskRecordType)Enum.Parse(typeof(TaskRecordType), args[0]); switch (taskType) { case TaskRecordType.ProfileInput: case TaskRecordType.ProfileInputApproval: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Path.ToString(); Response.Redirect("/EHS/EHS_MetricInput.aspx"); break; case TaskRecordType.ProfileInputFinalize: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Path.ToString(); Response.Redirect("/EHS/EHS_Console.aspx"); break; break; case TaskRecordType.HealthSafetyIncident: if (args.Length == 4 && args[3] == ((int)SysPriv.action).ToString()) // incident action { TASK_STATUS task = new TASK_STATUS(); task.RECORD_TYPE = (int)TaskRecordType.HealthSafetyIncident; task.TASK_ID = Convert.ToDecimal(args[2]); task.TASK_STEP = args[3]; SessionManager.ReturnObject = task; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Path.ToString(); Response.Redirect("/Home/TaskAction.aspx"); } else { SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Path.ToString(); Response.Redirect("/EHS/EHS_Incidents.aspx"); } break; case TaskRecordType.PreventativeAction: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Path.ToString(); Response.Redirect("/EHS/EHS_PrevActions.aspx?s=1"); break; case TaskRecordType.Audit: if (args.Length == 4 && args[3] == ((int)SysPriv.action).ToString()) // audit action { TASK_STATUS task = new TASK_STATUS(); task.RECORD_TYPE = (int)TaskRecordType.Audit; task.TASK_ID = Convert.ToDecimal(args[2]); task.TASK_STEP = args[3]; SessionManager.ReturnObject = task; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Path.ToString(); Response.Redirect("/Home/TaskAction.aspx"); } else { SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Path.ToString(); //Response.Redirect("/EHS/EHS_Audits.aspx"); Response.Redirect("/EHS/EHS_Assessments.aspx"); } break; case TaskRecordType.CurrencyInput: SessionManager.ReturnObject = args[1]; SessionManager.ReturnStatus = true; SessionManager.ReturnPath = Request.Path.ToString(); Response.Redirect("/Admin/Administrate_CurrencyInput.aspx"); break; default: break; } } }