Ejemplo n.º 1
0
        private ReviewIncidentPageTable GetIncidentData(string strNearMissID)
        {
            ReviewIncidentPageTable incident = new ReviewIncidentPageTable();

            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlConn"].ToString());

            conn.Open();
            string qry = "SELECT DNMR.ID, DNMR.OperatorName, RD.Department, RNMT.NearMissType, DNMR.NearMiss_Solution, DNMR.NearMiss_ActionTaken FROM Data.NearMissRecord AS DNMR JOIN Reference.Department AS RD ON DNMR.Department_ID = RD.ID JOIN Reference.NearMissType AS RNMT ON DNMR.NearMissType_ID = RNMT.ID WHERE DNMR.ID = @id";

            using (SqlCommand cmd = new SqlCommand(qry, conn)) {
                var fNameParam = new SqlParameter("@id", System.Data.SqlDbType.Int);
                fNameParam.Value = int.Parse(strNearMissID);
                cmd.Parameters.Add(fNameParam);

                SqlDataReader sdr = cmd.ExecuteReader();
                sdr.Read();

                incident.OperatorName         = sdr["OperatorName"].ToString();
                incident.Department           = sdr["Department"].ToString();
                incident.NearMissType         = sdr["NearMissType"].ToString();
                incident.NearMiss_Solution    = sdr["NearMiss_Solution"].ToString();
                incident.NearMiss_ActionTaken = sdr["NearMiss_ActionTaken"].ToString();

                cmd.Dispose();
                conn.Close();
            }

            return(incident);
        }
Ejemplo n.º 2
0
        private void SendAssigneeEmail(string strNearMissID, string strAssigneeName, string strSeverity, string strRisk, string strComments)
        {
            string strEmail = GetEmailFromName(strAssigneeName);
            ReviewIncidentPageTable incident = GetIncidentData(strNearMissID);

            SmtpSection section     = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp");
            MailMessage mailMessage = new MailMessage();

            mailMessage.From = new MailAddress(section.Network.UserName);
            mailMessage.To.Add(new MailAddress(strEmail));

            string       templatePath = HttpRuntime.AppDomainAppPath + "/emailAssigneeNotificationTemplate.html";
            StreamReader sr           = new StreamReader(templatePath);
            string       strEmailBody = sr.ReadToEnd();

            sr.Close();

            // Replace the template placeholder variables
            strEmailBody = strEmailBody.Replace("[actionURL]", ConfigurationManager.AppSettings["mainURL"] + "updateIncident?NearMissID=" + strNearMissID);
            strEmailBody = strEmailBody.Replace("[mainURL]", ConfigurationManager.AppSettings["mainURL"]);

            string strFirstName = strAssigneeName.Substring(strAssigneeName.LastIndexOf(',') + 2);

            strEmailBody = strEmailBody.Replace("[strUsername]", strFirstName);
            strEmailBody = strEmailBody.Replace("[NearMissID]", strNearMissID);
            strEmailBody = strEmailBody.Replace("[OperatorName]", incident.OperatorName);
            strEmailBody = strEmailBody.Replace("[Department]", incident.Department);
            strEmailBody = strEmailBody.Replace("[NearMissType]", incident.NearMissType);
            strEmailBody = strEmailBody.Replace("[Severity]", strSeverity);
            strEmailBody = strEmailBody.Replace("[Risk]", strRisk);
            strEmailBody = strEmailBody.Replace("[NearMissDetails]", incident.NearMiss_Solution);
            strEmailBody = strEmailBody.Replace("[NearMissActionTaken]", incident.NearMiss_ActionTaken);
            strEmailBody = strEmailBody.Replace("[EHSComments]", strComments);

            mailMessage.IsBodyHtml = true;
            mailMessage.Body       = strEmailBody;
            mailMessage.Subject    = "Near Miss Incident Requiring Review";
            SmtpClient smtpClient = new SmtpClient();

            smtpClient.Send(mailMessage);
        }