protected void gvNeedsApproval_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string divChairComments = string.Empty;

        if (e.CommandName != "Page")
        {
            log.LogId = int.Parse(e.CommandArgument.ToString());
            log.GetRecord();
            log.UpdatedBy   = Session["deltaid"].ToString();
            log.DateUpdated = DateTime.Now;

            string to    = Helpers.GetDeltaEmail(log.SubmittedBy);
            string admin = ConfigurationManager.AppSettings["EmailAdmin"];

            if (e.CommandName == "approve")
            {
                StringBuilder sb1 = new StringBuilder(log.Change);
                sb1.Append("<ul><br>Division Chair: ");
                foreach (GridViewRow row in gvNeedsApproval.Rows)
                {
                    if (row.FindControl <HiddenField>("LOGID").Value == log.LogId.ToString())
                    {
                        divChairComments = row.FindControl <TextBox>("DivChairCommentsTextBox").Text;
                        if (string.IsNullOrEmpty(divChairComments))
                        {
                            divChairComments = "<b>No comments.</b>";
                        }
                    }
                }
                sb1.Append(divChairComments);
                sb1.Append("</ul>");
                log.Status       = "approved";
                log.ProcessGroup = "registars";
                log.Change       = sb1.ToString();
                log.UpdateRecord();

                //Add the registars processing information
                this.AddNextProcess();

                if (to != "")
                {
                    Helpers.SendEmail("Schedule change approved", "<br /> Your schedule change has been approved and has been sent to the registration office for processing.<br />Division Chair Comments: " + divChairComments, to);
                }
                StringBuilder sb = new StringBuilder();
                if (log.SectionsId > 0)
                {
                    sb.Append(" to ");
                    ClsSections section = new ClsSections("MasterSchedule");
                    section.SectionsId = log.SectionsId;
                    section.GetRecord();
                    ClsCourses course = new ClsCourses("MasterSchedule");
                    course.CoursesId = section.CoursesId;
                    course.GetRecord();
                    ClsTerms term = new ClsTerms("MasterSchedule");
                    term.TermsId = section.TermsId;
                    term.GetRecord();
                    sb.Append("<br /> Please make the following change to " + term.Term + " " + course.CourseNumber + " " + section.SectionNumber + ":<br/><br/>");
                }
                sb.Append(log.Change);
                Helpers.SendEmail("Schedule change submitted", sb.ToString(), "*****@*****.**");
            }
            if (e.CommandName == "ignore")
            {
                StringBuilder sb2 = new StringBuilder(log.Change);
                sb2.Append("<ul><br>Division Chair: ");
                foreach (GridViewRow row in gvNeedsApproval.Rows)
                {
                    if (row.FindControl <HiddenField>("LOGID").Value == log.LogId.ToString())
                    {
                        divChairComments = row.FindControl <TextBox>("DivChairDenyTextBox").Text;
                        if (string.IsNullOrEmpty(divChairComments))
                        {
                            divChairComments = "<b>No comments.</b>";
                        }
                    }
                }
                sb2.Append(divChairComments);
                sb2.Append("</ul>");
                log.Status = "ignored";
                log.Change = sb2.ToString();
                log.UpdateRecord();
                if (to != "")
                {
                    SendEmail("Schedule change denied", "Your schedule change has been denied.<br /><br />Comments<br />" + divChairComments, to);
                }
            }
            gvNeedsApproval.DataBind();
        }
    }
Exemplo n.º 2
0
    protected void gvNeedsApproval_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string registrarComments = string.Empty;

        if (e.CommandName != "Page")
        {
            log.LogId = int.Parse(e.CommandArgument.ToString());
            log.GetRecord();

            string to = Helpers.GetDeltaEmail(log.SubmittedBy);
            //Get division chair email address
            string        DivChairEmail = log.UpdatedBy.ToString() + "@delta.edu";
            StringBuilder sbCourseInfo  = new StringBuilder(string.Empty);

            if (e.CommandName == "approve")
            {
                StringBuilder sb1 = new StringBuilder(log.Change);
                sb1.Append("<ul><br>Registrar: ");
                foreach (GridViewRow row in gvNeedsApproval.Rows)
                {
                    if (row.FindControl <HiddenField>("LOGID").Value == log.LogId.ToString())
                    {
                        registrarComments = row.FindControl <TextBox>("RegisCommentsTextBox").Text;
                        if (string.IsNullOrEmpty(registrarComments))
                        {
                            registrarComments = "<b>No comments.</b>";
                        }
                    }
                }
                sb1.Append(registrarComments);
                sb1.Append("</ul>");

                log.ProcessGroup = "final";
                log.UpdatedBy    = User.Identity.Name;
                log.Change       = sb1.ToString();
                log.UpdateRecord();

                this.UpdateCurrentProcess("approved");

                //Add the additional processing screens.

                string[] sendTo = GetNextProcessGroups();
                for (int i = 0; i < sendTo.Length; i++)
                {
                    AddProcess(sendTo[i], "last");
                }

                StringBuilder sb = new StringBuilder();
                if (log.SectionsId > 0)
                {
                    ClsSections section = new ClsSections("MasterSchedule");
                    section.SectionsId = log.SectionsId;
                    section.GetRecord();
                    ClsCourses course = new ClsCourses("MasterSchedule");
                    course.CoursesId = section.CoursesId;
                    course.GetRecord();
                    ClsTerms term = new ClsTerms("MasterSchedule");
                    term.TermsId = section.TermsId;
                    term.GetRecord();
                    sbCourseInfo.Append(term.Term + " " + course.CourseNumber + " " + section.SectionNumber + ":<br/><br/>");
                    sb.Append("<br /> Please make the following change to " + term.Term + " " + course.CourseNumber + " " + section.SectionNumber + ":<br/><br/>");
                }
                if (sbCourseInfo.Length > 1)
                {
                    sb.Append("<h4>Add Course:</h4><br/><br/>");
                }
                sb.Append(log.Change);
                sbCourseInfo.Append(log.Change);

                Helpers.SendEmail("Master Schedule change approved", sb.ToString(), GetNextProcessEmails(), log.SectionsId);
                // 3/23/16 - mgm - changed richardzeien to michaelmccloskey
                Helpers.SendEmail("Master Schedule change approved.", "Email sending to: " + GetNextProcessEmails() + "<br />" + sb.ToString(), "*****@*****.**", log.SectionsId);
                using (MasterScheduleDataContext db = new MasterScheduleDataContext())
                {
                    List <SendMessageOnLogApproval> messagesToSend = db.SendMessageOnLogApprovals.Where(X => X.LogID == log.LogId).ToList();

                    foreach (SendMessageOnLogApproval thisMessage in messagesToSend)
                    {
                        var results = db.GetMeetingCenterEmail(thisMessage.CampusID).ToList();
                        if (results.Count() > 0)
                        {
                            StringBuilder emailsToSend = new StringBuilder();

                            results.ForEach(X => emailsToSend.Append(X.DeltaEmail + ";"));

                            Helpers.SendEmail("Master Schedule change approved", sb.ToString(), emailsToSend.ToString().TrimEnd(";".ToCharArray()), log.SectionsId);
                        }
                        thisMessage.DateCompleted = DateTime.Now;
                        db.SubmitChanges();
                    }
                }

                if (to != "")
                {
                    Helpers.SendEmail("Master Schedule change approved", "Records and Registration has <b>approved</b> your schedule change. <br />Registrar Comments: " + registrarComments + "<br /><br /><b>Course Info:</b><br/>" + sbCourseInfo.ToString(), to, log.SectionsId);
                }

                Helpers.SendEmail("Master Schedule change approved.", "This email will be sent to:  " + DivChairEmail + "Records and Registration has <b>approved</b> the schedule change. <br />Registrar Comments: " + registrarComments + "<br /><br /><b>Course Info:</b><br/>" + sbCourseInfo.ToString(), "*****@*****.**", log.SectionsId);
                if (DivChairEmail != "")
                {
                    /*Commented out for testing.. Cyrus */
                    Helpers.SendEmail("Master Schedule change approved", "Records and Registration has <b>approved</b> the schedule change. <br />Registrar Comments: " + registrarComments + "<br /><br /><b>Course Info:</b><br/>" + sbCourseInfo.ToString(), DivChairEmail, log.SectionsId);
                }
                else
                {
                }
            }
            if (e.CommandName == "ignore")
            {
                StringBuilder sb2 = new StringBuilder(log.Change);
                sb2.Append("<ul><br>Registrar: ");
                foreach (GridViewRow row in gvNeedsApproval.Rows)
                {
                    if (row.FindControl <HiddenField>("LOGID").Value == log.LogId.ToString())
                    {
                        registrarComments = row.FindControl <TextBox>("RegistrarDenyTextBox").Text;
                        if (string.IsNullOrEmpty(registrarComments))
                        {
                            registrarComments = "<b>No comments.</b>";
                        }
                    }
                }
                sb2.Append(registrarComments);
                sb2.Append("</ul>");

                sbCourseInfo.Append(log.Change);
                log.Status       = "ignored";
                log.ProcessGroup = "complete";
                log.Change       = sb2.ToString();
                log.UpdateRecord();

                this.UpdateCurrentProcess("ignored");

                if (to != "")
                {
                    Helpers.SendEmail("Master Schedule change denied", "Your schedule change has been <b>denied</b> by Records and Registration. <br />Registrar Comments: " + registrarComments + "<br /><br /><b>Course Info:</b><br/>" + sbCourseInfo.ToString(), to, log.SectionsId);
                }

                if (DivChairEmail != "")
                {
                    /*Commented out for testing.. Cyrus */
                    Helpers.SendEmail("Master Schedule change denied", "The schedule change has been <b>denied</b> by Records and Registration. <br />Registrar Comments: " + registrarComments + "<br /><br /><b>Course Info:</b><br/>" + sbCourseInfo.ToString(), DivChairEmail, log.SectionsId);
                }
            }
            DataSet ds = new DataSet();
            rowFilter = string.Empty;
            BindGvNeedsApproval(ds);
            BindLists(ds);
        }
    }