Example #1
0
        static void emailWaring(string _id, string _subject, DateTime _start, DateTime _end, string _channels, string _pillar, ConnectorException connectorException, ConnectionException connectionException, NoResponseReceivedException noResponseException)
        {
            string emailBody = string.Empty;

            if (connectorException != null)
            {
                emailBody = "Γεια σας κ. Administrator.<br /><br />" +
                    "Σας ενημερώνουμε ότι η εργασία " + _id + " με την ημερομηνία έναρξης " + _start.ToString("d/M/yyyy H:mm tt") + " και την ημερομηνία λήξης " + _end.ToString("d/M/yyyy H:mm tt") + " ";
                if (_subject.IndexOf("LIGHTS ON") > -1)
                {
                    emailBody += "δεν άναψε";
                }

                if (_subject.IndexOf("LIGHTS OFF") > -1)
                {
                    emailBody += "δεν έσβησε";
                }

                if (_channels == "0")
                {
                    emailBody += " όλες τις ηλεκτρολογικές αναχωρήσεις";
                }
                else
                {
                    emailBody += " τις ηλεκτρολογικές αναχωρήσεις " + _channels;
                }

                emailBody += " του πυλώνα " + getPillarName(_pillar);

                switch (connectorException.ErrorReason)
                {
                    case ConnectorException.Reason.DeviceNotFound:
                        emailBody += " επειδή <span style=\"color:red;\">Η συσκευή KNX δεν μπορεί να βρεθεί</span>.<br/><br/>";
                        break;
                    case ConnectorException.Reason.DeviceNotRespond:
                        emailBody += " επειδή <span style=\"color:red;\">Η συσκευή KNX δεν ανταποκρίνεται στο αναμενόμενο χρόνο</span>.<br/><br/>";
                        break;
                    case ConnectorException.Reason.NoMoreConnections:
                        emailBody += " επειδή : <span style=\"color:red;\">Η συσκευή KNX δεν μπορεί να δεχτεί τη νέα σύνδεση, διότι το ανώτατο οριο των ταυτόχρονων συνδέσεων έχει υπερβεί ήδη</span>.<br/><br/>";
                        break;
                    default:
                        emailBody += " επειδή <span style=\"color:red;\">" + connectorException.ErrorReason + "</span>.<br/>";
                        break;
                }

                emailBody += "Με εκτίμηση,<br/>Σύστημα Διαχείρισης Ηλεκτροφωτισμού";
            }

            if (connectionException != null)
            {
                emailBody = "Γεια σας κ. Administrator.<br /><br />" +
                    "Σας ενημερώνουμε ότι η εργασία " + _id + " με την ημερομηνία έναρξης " + _start.ToString("d/M/yyyy H:mm tt") + " και την ημερομηνία λήξης " + _end.ToString("d/M/yyyy H:mm tt") + " ";
                if (_subject.IndexOf("LIGHTS ON") > -1)
                {
                    emailBody += "δεν άναψε";
                }

                if (_subject.IndexOf("LIGHTS OFF") > -1)
                {
                    emailBody += "δεν έσβησε";
                }

                if (_channels == "0")
                {
                    emailBody += " όλες τις ηλεκτρολογικές αναχωρήσεις";
                }
                else
                {
                    emailBody += " τις ηλεκτρολογικές αναχωρήσεις " + _channels;
                }

                emailBody += " του πυλώνα " + getPillarName(_pillar);

                switch (connectionException.ErrorReason)
                {
                    case ConnectionException.Reason.NotConnected:
                        emailBody += " επειδή <span style=\"color:red;\">Η σύνδεση δεν εγκαθιδρύθηκε</span>.<br/><br/>";
                        break;
                    case ConnectionException.Reason.NoMoreConnections:
                        emailBody += " επειδή <span style=\"color:red;\">Η συσκευή δεν μπορεί να δεχθεί τη νέα σύνδεση, διότι το ανώτατο ποσό των ταυτόχρονων συνδέσεων χρησιμοποιείται ήδη.</span>.<br/><br/>";
                        break;
                    case ConnectionException.Reason.ConnectionRefused:
                        emailBody += " επειδή <span style=\"color:red;\">Η σύνδεση αρνήθηκε από τη συσκευή προορισμού</span>.<br/><br/>";
                        break;
                    default:
                        emailBody += " επειδή <span style=\"color:red;\">" + connectionException.ErrorReason + "</span>.<br/>";
                        break;
                }

                emailBody += "Με εκτίμηση,<br/>Σύστημα Διαχείρισης Ηλεκτροφωτισμού";
            }

            if (noResponseException != null)
            {
                emailBody = "Γεια σας κ. Administrator.<br /><br />" +
                    "Σας ενημερώνουμε ότι η εργασία " + _id + " με την ημερομηνία έναρξης " + _start.ToString("d/M/yyyy H:mm tt") + " και την ημερομηνία λήξης " + _end.ToString("d/M/yyyy H:mm tt") + " ";
                if (_subject.IndexOf("LIGHTS ON") > -1)
                {
                    emailBody += "δεν άναψε";
                }

                if (_subject.IndexOf("LIGHTS OFF") > -1)
                {
                    emailBody += "δεν έσβησε";
                }

                if (_channels == "0")
                {
                    emailBody += " όλες τις ηλεκτρολογικές αναχωρήσεις";
                }
                else
                {
                    emailBody += " τις ηλεκτρολογικές αναχωρήσεις " + _channels;
                }

                emailBody += " του πυλώνα " + getPillarName(_pillar);

                switch (noResponseException.ErrorReason)
                {
                    case NoResponseReceivedException.Reason.Confirmation:
                        emailBody += " επειδή <span style=\"color:red;\">Δεν λήφθηκε επιβεβαίωση για το τηλεγράφημα</span>.<br/><br/>";
                        break;
                    case NoResponseReceivedException.Reason.NegativeConfirmation:
                        emailBody += " επειδή <span style=\"color:red;\">Λήφθηκε μια αρνητική επιβεβαίωση για το τηλεγράφημα</span>.<br/><br/>";
                        break;
                    case NoResponseReceivedException.Reason.Indication:
                        emailBody += " επειδή <span style=\"color:red;\">Καμία ένδειξη για το τηλεγράφημα</span>.<br/><br/>";
                        break;
                    default:
                        emailBody += " επειδή <span style=\"color:red;\">" + noResponseException.ErrorReason + "</span>.<br/>";
                        break;
                }

                emailBody += "Με εκτίμηση,<br/>Σύστημα Διαχείρισης Ηλεκτροφωτισμού";
            }

            if(connectorException == null && connectionException == null && noResponseException == null)
            {
                emailBody = "Γεια σας κ. Administrator.<br /><br />" +
                    "Σας ενημερώνουμε ότι η εργασία " + _id + " με την ημερομηνία έναρξης " + _start.ToString("d/M/yyyy H:mm tt") + " και την ημερομηνία λήξης " + _end.ToString("d/M/yyyy H:mm tt")+" ";
                if (_subject.IndexOf("LIGHTS ON") > -1)
                {
                    emailBody += "άναψε";
                }

                if (_subject.IndexOf("LIGHTS OFF") > -1)
                {
                    emailBody += "έσβησε";
                }

                if (_channels == "0")
                {
                    emailBody += " όλες τις ηλεκτρολογικές αναχωρήσεις";
                }
                else
                {
                    emailBody += " τις ηλεκτρολογικές αναχωρήσεις " + _channels;
                }

                emailBody += " του πυλώνα "+getPillarName(_pillar) + ".<br/><br/>";
                emailBody += "Με εκτίμηση,<br/>Σύστημα Διαχείρισης Ηλεκτροφωτισμού";
            }

            // Send email report to system administrator
            try
            {
                SmtpClient ob = new SmtpClient("smtp.office365.com");
                ob.UseDefaultCredentials = false;
                ob.EnableSsl = true;
                ob.Credentials = new NetworkCredential("*****@*****.**", "83Ruid1987!");

                MailMessage obMsg = new MailMessage();
                obMsg.From = new MailAddress("*****@*****.**", "Σύστημα Διαχείρισης Ηλεκτροφωτισμού (Do not reply)");
                obMsg.To.Add(new MailAddress("*****@*****.**", "Διαχειριστής συστήματος διαχείρισης ηλεκτροφωτισμού"));
                obMsg.Subject = "Ενημέρωση για την εργασία "+_id+".";
                obMsg.IsBodyHtml = true;
                obMsg.Body = emailBody;
                ob.Send(obMsg);
            }
            catch (Exception ex)
            {
                string msg = ex.ToString();
            }
            // Send email report to system administrator
        }
Example #2
0
        static void updateReportScheduler3(string taskID, NoResponseReceivedException.Reason errorReason)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
            {
                conn.Open();

                string sqlInsert = "INSERT INTO [db_knx].[dbo].[ReportScheduler] ([TaskID],[ErrorID],[ErrorException]) VALUES " +
                    " (" + taskID + ",N'" + errorReason + "',N'NoResponseReceivedException')";

                using (SqlCommand sqlComm = new SqlCommand(sqlInsert, conn))
                {
                    sqlComm.ExecuteNonQuery();
                }

                conn.Close();
            }
        }