コード例 #1
0
ファイル: TaskService.cs プロジェクト: herdrim/twork
        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);
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: TaskService.cs プロジェクト: herdrim/twork
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: TaskService.cs プロジェクト: herdrim/twork
        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);
                }
            }
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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();
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: wangscript007/MetricSoft
        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());
            }
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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");
            }
        }
コード例 #10
0
ファイル: TaskService.cs プロジェクト: herdrim/twork
        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);
        }
コード例 #11
0
        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);
                    }
                }
            }
        }
コード例 #12
0
        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
                {
                }
            }
        }
コード例 #13
0
        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;
            }
        }
コード例 #14
0
    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);
    }
コード例 #15
0
ファイル: TaskService.cs プロジェクト: herdrim/twork
        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);
            }
        }
コード例 #16
0
        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);
        }
コード例 #17
0
        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 += ("&nbsp;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
                {
                }
            }
        }
コード例 #18
0
        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);
        }
コード例 #19
0
        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");
                }
            }
        }
コード例 #20
0
 public bool UpdateTaskComplete(TASK_STATUS task)
 {
     return(UpdateTaskComplete(task, true));
 }
コード例 #21
0
        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);
        }
コード例 #22
0
        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
                {
                }
            }
        }
コード例 #23
0
 public bool BindTaskComplete(TASK_STATUS task)
 {
     return(BindTaskComplete(task, ""));
 }
コード例 #24
0
        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;
                }
            }
        }
コード例 #25
0
        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);
        }
コード例 #26
0
        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");
            }
        }
コード例 #27
0
ファイル: Program.cs プロジェクト: wangscript007/MetricSoft
        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());
            }
        }
コード例 #28
0
        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;
                }
            }
        }
コード例 #29
0
 // TASK_TYPE に対する拡張メソッドの定義
 public static string DisplayName(this TASK_STATUS type)
 {
     string[] names = { "未実行", "実行中", "完了" };
     return(names[(int)type]);
 }
コード例 #30
0
        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;
                }
            }
        }