コード例 #1
0
    protected void lnkBtnReturn_Click(object sender, EventArgs e)
    {
        bool          lb_complete = true;
        woApprovalBLL apprvLogic  = new woApprovalBLL();

        WorkOrder.WOapprovalDataTable aprvDT = apprvLogic.GetWOApprovalDataByWOandProj(li_wonum, ls_proj);

        foreach (WorkOrder.WOapprovalRow aprvDR in aprvDT)
        {
            lb_complete = true;
            if (Convert.ToBoolean(aprvDR["wapr_required"]) && !Convert.ToBoolean(aprvDR["wapr_AprvCode"]))
            {
                lb_complete = false;
                break;
            }
        }

        if (lb_complete)
        {
            woPhaseBLL woPhaseLogic = new woPhaseBLL();

            int PhaseNum = woPhaseLogic.InsertPhaseRecord(li_wonum,
                                                          ls_proj, 0, DateTime.Now, "GONG", 1,
                                                          Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));

            if (PhaseNum > 0)
            {
                PhaseNum = woPhaseLogic.InsertPhaseRecord(li_wonum,
                                                          ls_proj, 0, DateTime.Now, "IMPL", 0,
                                                          Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));


                WorkOrderBLL woLogic = new WorkOrderBLL();
                WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(li_wonum, ls_proj);
                WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];

                bool lb_rtn;

                WrkOrd.word_Status   = "IMPL";
                WrkOrd.word_statFlag = 0;
                WrkOrd.word_StatNum  = PhaseNum;

                lb_rtn = woLogic.UpdateWorkOrder(WrkOrd.word_WOnum, WrkOrd.word_Proj, WrkOrd.word_StatNum,
                                                 WrkOrd.word_Status, WrkOrd.word_statFlag, WrkOrd.word_Date, WrkOrd.word_Author,
                                                 WrkOrd.word_Title, "", "", WrkOrd.word_Priority,
                                                 WrkOrd.word_Descr, WrkOrd.word_Justify, WrkOrd.word_Cmnts, WrkOrd.word_PMorSME,
                                                 WrkOrd.word_BusnOwner, WrkOrd.word_reqDueDate, WrkOrd.word_WOnum, WrkOrd.word_Proj);
            }
        }

        string ls_response = "~/WorkOrder/EditWO.aspx?word_WOnum=" + li_wonum.ToString() + "&word_Proj=" + ls_proj;

        Response.Redirect(ls_response);
    }
コード例 #2
0
    protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e)
    {
        int rws = e.AffectedRows;

        woPhaseBLL   woPhaseLogic = new woPhaseBLL();
        WorkOrderBLL woLogic      = new WorkOrderBLL();

        int  wonum = (woLogic.GetMaxWOnum(e.Values[3].ToString()) - 1);
        bool lb_rtn;

        //SmtpEmail mailMessage = new SmtpEmail();
        //bool lb_rtn = mailMessage.Send(e.Values["word_Author"].ToString(), e.Values["word_PMorSME"].ToString(), "Work Order Creation - " + e.Values[3].ToString()
        //    + " WO# " + wonum + " - " + e.Values["word_Title"].ToString(),
        //    "WO# " + wonum + " - " + e.Values["word_Title"].ToString() + " requires your attention." +
        //    " Log into the EBS Work Order Module for details. Please do not respond to this email.", wonum, 0, e.Values["word_Proj"].ToString());

        // Insert a WOphase record, update the WOrole table and update the WorkOrder table record as well.

        WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(wonum, e.Values["word_Proj"].ToString());
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];

        int PhaseNum = woPhaseLogic.InsertPhaseRecord(wonum, WrkOrd.word_Proj, 0, DateTime.Now,
                                                      "IWOR", 0, Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));

        RolesBLL roleLogic = new RolesBLL();

        lb_rtn = roleLogic.InsertWOroles(wonum, Convert.ToInt32(WrkOrd.word_Author), WrkOrd.word_Proj, "AUTH", false, true);
        lb_rtn = roleLogic.InsertWOroles(wonum, Convert.ToInt32(WrkOrd.word_BusnOwner), WrkOrd.word_Proj, "BOWN", false, true);
        lb_rtn = roleLogic.InsertWOroles(wonum, Convert.ToInt32(WrkOrd.word_PMorSME), WrkOrd.word_Proj, "PM", false, true);


        DataView dv = (DataView)ObjectDataSource1.Select();
        DataRow  dr = (DataRow)dv.Table.Rows[0];
        FormView fv = sender as FormView;

        if (fv.CurrentMode == FormViewMode.Insert)
        {
            DropDownList DropDownListPhaseStat = (DropDownList)fv.Row.FindControl("DropDownListPhaseStat");
            int          PhaseStat             = Convert.ToInt32(DropDownListPhaseStat.SelectedValue);

            if (PhaseStat == 1)
            {
                int PhaseNumb = woPhaseLogic.InsertPhaseRecord(wonum, WrkOrd.word_Proj, 0, DateTime.Now,
                                                               "WORA", 0, Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));

                WrkOrd.word_Status   = "WORA";
                WrkOrd.word_statFlag = 0;
                WrkOrd.word_StatNum  = PhaseNumb;

                //DateTimePicker DTimePicker = (DateTimePicker)fv.Row.FindControl("CalendarExtender1");
                //string ls_val = DTimePicker.Value.ToString();

                //TextBox TxtBxReqDate = (TextBox)fv.Row.FindControl("word_reqDueDateTextBox");
                //TxtBxReqDate.Text = ls_val;

                //WrkOrd.word_reqDueDate = Convert.ToDateTime(DTimePicker.Value.ToString());

                lb_rtn = woLogic.UpdateWorkOrder(WrkOrd.word_WOnum, WrkOrd.word_Proj, WrkOrd.word_StatNum,
                                                 WrkOrd.word_Status, WrkOrd.word_statFlag, WrkOrd.word_Date, WrkOrd.word_Author,
                                                 WrkOrd.word_Title, WrkOrd.word_Doc.ToString(), WrkOrd.word_DocVer.ToString(), WrkOrd.word_Priority,
                                                 WrkOrd.word_Descr, WrkOrd.word_Justify, WrkOrd.word_Cmnts, WrkOrd.word_PMorSME,
                                                 WrkOrd.word_BusnOwner, WrkOrd.word_reqDueDate, WrkOrd.word_WOnum, WrkOrd.word_Proj);
            }
        }

        Response.Redirect("~/WorkOrder/Default.aspx?word_Proj=" + WrkOrd.word_Proj.ToString());
    }
コード例 #3
0
    protected void  btnUpdate_Click(object sender, EventArgs e)
    {
        // First check their LDAP Password . . .
        ldapAuthentication ldapAuth = new ldapAuthentication();

        try
        {
            ldapAuth.AuthenticateUser(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1).ToString(), txtBxPassword.Text);
        }
        catch (Exception ex)
        {
            lblText     = Label1.Text;
            Label1.Text = ex.Message.ToString();//"Your LDAP UID and/or password did not authenticate. Please try again.";
            return;
        }

        lblText = Label1.Text;// = "Your LDAP UID and/or password did not authenticate. Please try again.";



        DataView dv = (DataView)ObjectDataSource1.Select();

        //string ls_val;
        //string ls_val2;
        woApprovalBLL apprvLogic = new woApprovalBLL();

        bool lb_rtn = false;

        foreach (DataRow dr in dv.Table.Rows)
        {
            if (Convert.ToInt32(dr["wapr_Approver"]) == Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)))
            {
                int      li_val   = Convert.ToInt32(dr["wapr_AprvNum"]);
                int      li_val1  = li_wonum;
                string   ls_val   = ls_proj;
                DateTime ldt_val  = Convert.ToDateTime(dr["wapr_AprvDate"].ToString());
                int      li_val2  = Convert.ToInt32(dr["wapr_Approver"]);
                bool     lb_val   = chkBxApproval.Checked; //Convert.ToBoolean(dr["wapr_AprvCode"]);
                DateTime ldt_val2 = DateTime.Now;
                string   ls_val2  = txtBxComments.Text;    // dr["wapr_comments"].ToString();
                bool     lb_val2  = Convert.ToBoolean(dr["wapr_required"]);
                bool     lb_val3  = Convert.ToBoolean(dr["wapr_emailFlag"]);

                lb_rtn = apprvLogic.UpdateWOAprvlRecord(li_val, li_val1, ls_val, ldt_val, li_val2, lb_val, ldt_val2, ls_val2, lb_val2, lb_val3, li_val);
                GridView1.DataBind();

                btnUpdate.Visible     = false;
                btnApprove.Visible    = false;
                lnkBtnReturn.Visible  = true;
                Label2.Visible        = false;
                Label3.Visible        = false;
                Label4.Visible        = false;
                Label5.Visible        = false;
                chkBxApproval.Visible = false;
                txtBxPassword.Visible = false;
                txtBxComments.Visible = false;
                txtBxUser.Visible     = false;

                Label1.Text = "Update was successful.";
            }
        }

        WorkOrderBLL woLogic = new WorkOrderBLL();

        WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(li_wonum, ls_proj);
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];

        string    host        = Request.ServerVariables["SERVER_NAME"]; //HttpContext.Current.Request.Url.Host;
        SmtpEmail mailMessage = new SmtpEmail();

        string   ls_to       = "";
        RolesBLL WOroleLogic = new RolesBLL();

        WorkOrder.WOroleTextDisplayDataTable woRoleDT;
        woRoleDT = WOroleLogic.GetWOrolesByWOnumProj(li_wonum, ls_proj);

        foreach (WorkOrder.WOroleTextDisplayRow roleRow in woRoleDT)
        {
            if (Convert.ToBoolean(roleRow["worl_aprvl"]) == true)
            {
                ls_to = ls_to + "," + roleRow["worl_uid"].ToString();
            }
        }

        ldapClient userObject = new ldapClient();
        UserRecord ud;

        ud = userObject.SearchUser(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1));

        lb_rtn = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "GO/NoGO ACTION - " + WrkOrd.word_Proj.ToString()
                                  + " WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString(),
                                  "WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString() + " has received a Go/NoGo action from " +
                                  ud.FirstName.ToUpper() + " " + ud.LastName.ToUpper() + "." +
                                  " Log into the EBS Work Order Module for details." +
                                  Environment.NewLine + Environment.NewLine + "http://" + host + "/WorkOrder/EditWO.aspx?word_WOnum=" +
                                  li_wonum.ToString() + "&word_Proj=" + WrkOrd.word_Proj.ToString() + Environment.NewLine + Environment.NewLine +
                                  "The comment left on this Go/NoGo action is as follows:" +
                                  Environment.NewLine + Environment.NewLine +
                                  (Convert.ToBoolean(chkBxApproval.Checked) ? "GO! " : "NO Go! ") + Environment.NewLine + Environment.NewLine +
                                  txtBxComments.Text + Environment.NewLine + Environment.NewLine +
                                  Environment.NewLine + Environment.NewLine + "PLEASE DO NOT RESPOND TO THIS EMAIL!"
                                  , li_wonum, 0, WrkOrd.word_Proj.ToString());
    }
コード例 #4
0
    public bool InsertWorkOrder(int word_wonum, string word_proj, int?word_statnum,
                                string word_status, int?word_statflag, DateTime?word_date, string word_author,
                                string word_title, string word_doc, string word_docver, int?word_priority,
                                string word_descr, string word_justify, string word_cmnts,
                                int?word_pmorsme, int?word_busnowner, DateTime word_reqduedate)
    {
        WorkOrder.WorkOrderDataTable WrkOrds = new WorkOrder.WorkOrderDataTable();
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds.NewWorkOrderRow();

        // do data insertions
        // work out logic to get new work order number
        //string uname = User.Identity.Name;


        if (word_proj == null)
        {
            return(false);
        }
        else
        {
            WrkOrd.word_Proj = word_proj;
            int wonum = GetMaxWOnum(word_proj);
            //if (wonum > 0 && wonum>word_wonum)
            //{
            WrkOrd.word_WOnum = wonum;
            //}
            //else
            //{
            //    return false;
            //}
        }


        //WrkOrd.word_StatNum = 9995;
        if (word_statnum == null)
        {
            WrkOrd.Setword_StatNumNull();
        }
        else
        {
            WrkOrd.word_StatNum = word_statnum.Value;
        }

        if (word_status == null)
        {
            WrkOrd.Setword_StatusNull();
        }
        else
        {
            WrkOrd.word_Status = word_status;
        }

        if (word_statflag == null)
        {
            WrkOrd.word_statFlag = 0;
        }
        else
        {
            WrkOrd.word_statFlag = word_statflag.Value;
        }

        WrkOrd.word_Date = DateTime.Today;

        if (word_author == null)
        {
            WrkOrd.Setword_AuthorNull();
        }
        else
        {
            WrkOrd.word_Author = word_author;
        }

        if (word_title == null)
        {
            WrkOrd.Setword_TitleNull();
        }
        else
        {
            WrkOrd.word_Title = word_title;
        }

        if (word_doc == null)
        {
            WrkOrd.word_Doc = "";                   //WrkOrd.Setword_DocNull();
        }
        else
        {
            WrkOrd.word_Doc = word_doc;
        }

        if (word_docver == null)
        {
            WrkOrd.word_DocVer = "";                      //WrkOrd.Setword_DocVerNull();
        }
        else
        {
            WrkOrd.word_DocVer = word_docver;
        }

        if (word_priority == null)
        {
            WrkOrd.Setword_PriorityNull();
        }
        else
        {
            WrkOrd.word_Priority = word_priority.Value;
        }

        if (word_descr == null)
        {
            WrkOrd.word_Descr = "";                     //WrkOrd.Setword_DescrNull();
        }
        else
        {
            WrkOrd.word_Descr = word_descr;
        }

        if (word_justify == null)
        {
            WrkOrd.word_Justify = "";                       //WrkOrd.Setword_JustifyNull();
        }
        else
        {
            WrkOrd.word_Justify = word_justify;
        }

        if (word_cmnts == null)
        {
            WrkOrd.word_Cmnts = "";                     //WrkOrd.Setword_CmntsNull();
        }
        else
        {
            WrkOrd.word_Cmnts = word_cmnts;
        }

        if (word_pmorsme == null)
        {
            WrkOrd.Setword_PMorSMENull();
        }
        else
        {
            WrkOrd.word_PMorSME = word_pmorsme.Value;
        }

        if (word_busnowner == null)
        {
            WrkOrd.Setword_BusnOwnerNull();
        }
        else
        {
            WrkOrd.word_BusnOwner = word_busnowner.Value;
        }

        if (word_reqduedate == null || word_reqduedate.Year < 2000)
        {
            WrkOrd.Setword_reqDueDateNull();
        }
        else
        {
            WrkOrd.word_reqDueDate = word_reqduedate;
        }

        WrkOrds.AddWorkOrderRow(WrkOrd);
        int rowsAffected = WOadapter.Update(WrkOrds);

        //Insert(WrkOrd.word_WOnum, word_proj, WrkOrd.word_StatNum,
        //WrkOrd.word_Status, WrkOrd.word_statFlag, WrkOrd.word_Date, WrkOrd.word_Author, WrkOrd.word_Title,
        //WrkOrd.word_Doc, WrkOrd.word_DocVer, WrkOrd.word_Priority, WrkOrd.word_Descr, WrkOrd.word_Justify, WrkOrd.word_Cmnts,
        //WrkOrd.word_PMorSME, WrkOrd.word_BusnOwner, WrkOrd.word_reqDueDate);   //.Update(WrkOrds);
        WorkOrder.WorkOrderDataTable WOdataT = new WorkOrder.WorkOrderDataTable();
        WOdataT.AddWorkOrderRow(WrkOrd);
        //return WOdataT;


        return(rowsAffected == 1);
    }
コード例 #5
0
    public bool UpdateWorkOrder(int word_WOnum, string word_Proj, int?word_StatNum,
                                string word_Status, int?word_statFlag, DateTime word_Date, string word_Author,
                                string word_Title, string word_Doc, string word_DocVer, int?word_Priority,
                                string word_Descr, string word_Justify, string word_Cmnts,
                                int?word_PMorSME, int?word_BusnOwner, DateTime?word_reqDueDate, int Original_word_WOnum, string Original_word_Proj)
    {
        WorkOrder.WorkOrderDataTable WrkOrds = WOadapter.GetWOByNumProj(word_WOnum, word_Proj);//new WorkOrder.WorkOrderDataTable();

        if (WrkOrds.Count == 0)
        {
            return(false);
        }

        WorkOrder.WorkOrderRow WrkOrd = WrkOrds[0];

        // do data insertions

        WrkOrd.word_Proj = word_Proj;
        word_WOnum       = GetMaxWOnum(word_Proj);

        if (word_StatNum == null)
        {
            WrkOrd.Setword_StatNumNull();
        }
        else
        {
            WrkOrd.word_StatNum = word_StatNum.Value;
        }

        if (word_Status == null)
        {
            WrkOrd.Setword_StatusNull();
        }
        else
        {
            WrkOrd.word_Status = word_Status;
        }

        if (word_statFlag == null)
        {
            WrkOrd.word_statFlag = 0;
        }
        else
        {
            WrkOrd.word_statFlag = word_statFlag.Value;
        }

        if (word_Date == null)
        {
            WrkOrd.Setword_DateNull();
        }
        else
        {
            WrkOrd.word_Date = word_Date;
        }

        if (word_Author == null)
        {
            WrkOrd.Setword_AuthorNull();
        }
        else
        {
            WrkOrd.word_Author = word_Author;
        }

        if (word_Title == null)
        {
            WrkOrd.Setword_TitleNull();
        }
        else
        {
            WrkOrd.word_Title = word_Title;
        }

        if (word_Doc == null)
        {
            WrkOrd.Setword_DocNull();
        }
        else
        {
            WrkOrd.word_Doc = word_Doc;
        }

        if (word_DocVer == null)
        {
            WrkOrd.Setword_DocVerNull();
        }
        else
        {
            WrkOrd.word_DocVer = word_DocVer;
        }

        if (word_Priority == null)
        {
            WrkOrd.Setword_PriorityNull();
        }
        else
        {
            WrkOrd.word_Priority = word_Priority.Value;
        }

        if (word_Descr == null)
        {
            WrkOrd.Setword_DescrNull();
        }
        else
        {
            WrkOrd.word_Descr = word_Descr;
        }

        if (word_Justify == null)
        {
            WrkOrd.Setword_JustifyNull();
        }
        else
        {
            WrkOrd.word_Justify = word_Justify;
        }

        if (word_Cmnts == null)
        {
            WrkOrd.Setword_CmntsNull();
        }
        else
        {
            WrkOrd.word_Cmnts = word_Cmnts;
        }

        if (word_PMorSME == null)
        {
            WrkOrd.Setword_PMorSMENull();
        }
        else
        {
            WrkOrd.word_PMorSME = word_PMorSME.Value;
        }

        if (word_BusnOwner == null)
        {
            WrkOrd.Setword_BusnOwnerNull();
        }
        else
        {
            WrkOrd.word_BusnOwner = word_BusnOwner.Value;
        }

        if (word_reqDueDate == null)
        {
            WrkOrd.Setword_reqDueDateNull();
        }
        else
        {
            WrkOrd.word_reqDueDate = word_reqDueDate.Value;
        }

        int rowsAffected = WOadapter.Update(WrkOrds);

        //int rowsAffected = WOadapter.Update(WrkOrd.word_WOnum, WrkOrd.word_Proj, WrkOrd.word_StatNum,
        //WrkOrd.word_Status, WrkOrd.word_statFlag, WrkOrd.word_Date, WrkOrd.word_Author,
        //WrkOrd.word_Title, WrkOrd.word_Doc, WrkOrd.word_DocVer, WrkOrd.word_Priority,
        //WrkOrd.word_Descr, WrkOrd.word_Justify, WrkOrd.word_Cmnts,
        //WrkOrd.word_PMorSME, WrkOrd.word_BusnOwner, WrkOrd.word_reqDueDate, WrkOrd.word_WOnum, WrkOrd.word_Proj);

        return(rowsAffected == 1);
    }
コード例 #6
0
ファイル: EditWO.aspx.cs プロジェクト: jlpatton/AuditBenefits
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptManager SM = ((ScriptManager)(Master.FindControl("ScriptManager1")));

        SM.RegisterAsyncPostBackControl(btnAddParticipant);
        SM.RegisterAsyncPostBackControl(FormView2);
        WorkOrderBLL woLogic = new WorkOrderBLL();

        WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(Convert.ToInt32(Request.QueryString["word_WOnum"]), Request.QueryString["word_Proj"].ToString());
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];
        ls_proj  = Request.QueryString["word_Proj"];
        li_wonum = Convert.ToInt32(Request.QueryString["word_WOnum"]);

        RolesBLL roleLogic = new RolesBLL();


        if (!IsPostBack)
        {
            if ((WrkOrd.word_Status == "IMPL" && WrkOrd.word_statFlag == 1) ||
                (WrkOrd.word_Status == "GONG")) // &&
            {
                if (!(WrkOrd.word_Status == "GONG" &&
                      roleLogic.IsUserApprover(Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)), li_wonum, ls_proj))) // AND IsUserPMorUp?RoleBLL
                {
                    FormView1.DefaultMode  = FormViewMode.ReadOnly;
                    FormView1.DataSourceID = ObjectDataSource2.ID;
                    FormView1.DataBind();
                    ddlParticipant.Enabled    = false;
                    ddlParticipant.Visible    = false;
                    ddlRole.Enabled           = false;
                    ddlRole.Visible           = false;
                    btnAddParticipant.Visible = false;
                    lblParticipant.Visible    = false;
                    lblRole.Visible           = false;
                    GridView2.Enabled         = false;
                    GridView2.Visible         = false;
                    ((LinkButton)(FormView1.FindControl("RespondButton"))).Visible = false;
                }
                else
                {
                    ((LinkButton)(FormView1.FindControl("Approvals"))).Visible = true;
                }
            }


            bool lb_rtn = false;

            WorkOrderTableAdapters.WOroleTableAdapter roleAdapter = new WorkOrderTableAdapters.WOroleTableAdapter();
            WorkOrder.WOroleDataTable roleDT = roleAdapter.GetWOroleByWOproj(li_wonum, ls_proj);
            foreach (DataRow roleRow in roleDT)
            {
                if (roleRow["worl_uid"].ToString() == WrkOrd.word_Author.ToString())
                {
                    lb_rtn = true;

                    break;
                }
            }

            if (!lb_rtn)
            {
                lb_rtn = roleLogic.InsertWOroles(li_wonum, Convert.ToInt32(WrkOrd.word_Author), ls_proj, "AUTH", false, true);
            }
            lb_rtn = false;

            foreach (DataRow roleRow in roleDT)
            {
                if (roleRow["worl_uid"].ToString() == WrkOrd.word_BusnOwner.ToString())
                {
                    lb_rtn = true;
                    break;
                }
            }

            if (!lb_rtn)
            {
                lb_rtn = roleLogic.InsertWOroles(li_wonum, Convert.ToInt32(WrkOrd.word_BusnOwner), ls_proj, "BOWN", false, true);
            }
            lb_rtn = false;
            foreach (DataRow roleRow in roleDT)
            {
                if (roleRow["worl_uid"].ToString() == WrkOrd.word_PMorSME.ToString())
                {
                    lb_rtn = true;
                    break;
                }
            }

            if (!lb_rtn)
            {
                lb_rtn = roleLogic.InsertWOroles(li_wonum, Convert.ToInt32(WrkOrd.word_PMorSME), ls_proj, "PM", false, true);
            }
            lb_rtn = false;
            //GridView2.DataBind();
        }

        woResponseBLL responseLogic = new woResponseBLL();

        if (responseLogic.GetWOresponseCountByWOandProj(li_wonum, ls_proj) > 0)
        {
            FormView2.Visible = true;
        }
        else
        {
            FormView2.Visible = false;
        }
    }
コード例 #7
0
ファイル: EditWO.aspx.cs プロジェクト: jlpatton/AuditBenefits
    protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
    {
        int        statflag;
        int        rws          = e.AffectedRows;
        woPhaseBLL woPhaseLogic = new woPhaseBLL();

        // If Phase changed (or PhaseStat is 'Completed') then a new row is needed in Phase table and WO updated with new Phase/PhaseNumber
        if (!e.NewValues["word_Status"].ToString().Equals(e.OldValues["word_Status"].ToString()) ||
            (!e.NewValues["word_statFlag"].ToString().Equals(e.OldValues["word_statFlag"].ToString()) &&
             e.NewValues["word_statFlag"].ToString().Equals("1")))
        {
            int PhaseNum = woPhaseLogic.InsertPhaseRecord(li_wonum,
                                                          ls_proj, 0, DateTime.Now, e.NewValues["word_Status"].ToString(),
                                                          Convert.ToInt32(e.NewValues["word_statFlag"].ToString()),
                                                          Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));
        }

        WorkOrderBLL woLogic = new WorkOrderBLL();

        WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(li_wonum, ls_proj);
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];

        //If Phase Status is 'Completed' insert a new row in Phase and update WO with new Phase/Status/PhaseNumber

        if (Convert.ToUInt32(e.NewValues["word_statFlag"]) == 1)
        {
            statflag = 0;
            string NewPhase = "";
            switch (e.NewValues["word_Status"].ToString())
            {
            case "IWOR":
                NewPhase = "WORA";
                break;

            case "WORA":
                NewPhase = "WORD";
                break;

            case "WORM":
                NewPhase = "WORA";
                break;

            case "WORD":
                NewPhase = "WOTS";
                break;

            case "WOTS":
                NewPhase = "WDEV";
                break;

            case "WDEV":
                NewPhase = "WTST";
                break;

            case "WTST":
                NewPhase = "GONG";
                break;

            case "GONG":
                NewPhase = "IMPL";
                break;

            case "IMPL":
                NewPhase = "IMPL";
                statflag = 1;
                break;

            default:

                break;
            }


            int PhaseNum = woPhaseLogic.InsertPhaseRecord(li_wonum,
                                                          ls_proj, 0, DateTime.Now, NewPhase, statflag,
                                                          Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));


            WrkOrd.word_Status   = NewPhase;
            WrkOrd.word_statFlag = statflag;
            WrkOrd.word_StatNum  = PhaseNum;

            bool lb_rtn;

            lb_rtn = woLogic.UpdateWorkOrder(WrkOrd.word_WOnum, WrkOrd.word_Proj, WrkOrd.word_StatNum,
                                             WrkOrd.word_Status, WrkOrd.word_statFlag, WrkOrd.word_Date, WrkOrd.word_Author,
                                             WrkOrd.word_Title, "", "", WrkOrd.word_Priority,
                                             WrkOrd.word_Descr, WrkOrd.word_Justify, WrkOrd.word_Cmnts, WrkOrd.word_PMorSME,
                                             WrkOrd.word_BusnOwner, WrkOrd.word_reqDueDate, WrkOrd.word_WOnum, WrkOrd.word_Proj);

            string ls_to;
            if (Convert.ToString(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)) == WrkOrd.word_PMorSME.ToString())
            {
                ls_to = WrkOrd.word_BusnOwner.ToString();
            }
            else
            {
                ls_to = WrkOrd.word_PMorSME.ToString();
            }

            string    host        = Request.ServerVariables["SERVER_NAME"]; //HttpContext.Current.Request.Url.Host;
            SmtpEmail mailMessage = new SmtpEmail();

            switch (NewPhase) // This logic makes sure that the authorizers get emails during GO/NoGO phase.
            {
            case "GONG":

                RolesBLL WOroleLogic = new RolesBLL();
                WorkOrder.WOroleTextDisplayDataTable woRoleDT;
                woRoleDT = WOroleLogic.GetWOrolesByWOnumProj(li_wonum, ls_proj);
                //woApprovalBLL apprvLogic = new woApprovalBLL();
                //WorkOrder.WOapprovalDataTable apprvlDT;
                //apprvlDT = apprvLogic.GetWOApprovalDataByWOandProj(li_wonum, ls_proj);

                // this code ensures that every approval record is created
                foreach (WorkOrder.WOroleTextDisplayRow roleRow in woRoleDT)
                {
                    if (Convert.ToBoolean(roleRow["worl_aprvl"]) == true)
                    {
                        ls_to = ls_to + "," + roleRow["worl_uid"].ToString();
                    }
                }



                lb_rtn = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "Work Order Approval - " + WrkOrd.word_Proj.ToString()
                                          + " WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString(),
                                          "WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString() + " requires your Go/NoGo action." +
                                          " Log into the EBS Work Order Module for details. Please do not respond to this email." +
                                          Environment.NewLine + Environment.NewLine + "http://" + host + "/WorkOrder/Approvals.aspx?word_WOnum=" +
                                          li_wonum.ToString() + "&word_Proj=" + WrkOrd.word_Proj.ToString() + Environment.NewLine + Environment.NewLine +
                                          "The most recent comment on this work order is as follows:" +
                                          Environment.NewLine + Environment.NewLine + WrkOrd.word_Cmnts.ToString(), li_wonum, 0, WrkOrd.word_Proj.ToString());

                break;

            default:

                lb_rtn = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "Work Order Modification - " + WrkOrd.word_Proj.ToString()
                                          + " WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString(),
                                          "WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString() + " requires your attention." +
                                          " Log into the EBS Work Order Module for details. Please do not respond to this email." +
                                          Environment.NewLine + Environment.NewLine + "http://" + host + "/WorkOrder/EditWO.aspx?word_WOnum=" +
                                          li_wonum.ToString() + "&word_Proj=" + WrkOrd.word_Proj.ToString() + Environment.NewLine + Environment.NewLine +
                                          "The most recent comment on this work order is as follows:" +
                                          Environment.NewLine + Environment.NewLine + WrkOrd.word_Cmnts.ToString(), li_wonum, 0, WrkOrd.word_Proj.ToString());

                break;
            }
        }

        if (!e.NewValues["word_PMorSME"].ToString().Equals(e.OldValues["word_PMorSME"].ToString()) ||
            !e.NewValues["word_BusnOwner"].ToString().Equals(e.OldValues["word_BusnOwner"].ToString()))
        {
            string ls_to, ls_msg;
            if (Convert.ToString(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)) == WrkOrd.word_PMorSME.ToString())
            {
                ls_to = WrkOrd.word_BusnOwner.ToString();
            }
            else
            {
                ls_to = WrkOrd.word_PMorSME.ToString();
            }

            if (!e.NewValues["word_PMorSME"].ToString().Equals(e.OldValues["word_PMorSME"].ToString()))
            {
                ls_msg = " The Business Owner of this work order has changed.";
            }
            else
            {
                ls_msg = " The Project manager for this work order has changed. ";
            }

            string    host        = Request.ServerVariables["SERVER_NAME"]; //HttpContext.Current.Request.Url.Host;
            SmtpEmail mailMessage = new SmtpEmail();
            bool      lb_rtn      = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "Work Order Modification - " + WrkOrd.word_Proj.ToString()
                                                     + " WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString(),
                                                     "WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString() + " requires your attention." + ls_msg +
                                                     " Log into the EBS Work Order Module for details. Please do not respond to this email."
                                                     + Environment.NewLine + Environment.NewLine + "http://" + host + "/WorkOrder/EditWO.aspx?word_WOnum=" +
                                                     li_wonum.ToString() + "&word_Proj=" + WrkOrd.word_Proj.ToString() + Environment.NewLine + Environment.NewLine + //"http://www.google.com"
                                                     "The most recent comment on this work order is as follows:" +
                                                     Environment.NewLine + Environment.NewLine + WrkOrd.word_Cmnts.ToString(), li_wonum, 0, WrkOrd.word_Proj.ToString());
        }

        Response.Redirect("~/WorkOrder/Default.aspx?word_Proj=" + ls_proj);
    }