Пример #1
0
        /// <summary>
        /// This is responsible to send email
        /// </summary>
        /// <param name="to"></param>
        /// <param name="subject"></param>
        /// <param name="emailText"></param>
        /// <returns></returns>
        public eAlertUpdateViewModel SendEmail(string to, string subject, string emailText, string casekey)
        {
            var emailUpdateModel = new eAlertUpdateViewModel();

            try
            {
                emailUpdateModel.case_key         = casekey;
                emailUpdateModel.error_email_date = DateTime.Now.ToEST();  // will  be replaced by actual email sent time after the mail is sent.

                // create log
                _logger.AddLogEntry(_serviceName, "INPROGRESS", "Sending Email with case key=" + casekey + "", "SendEmail");

                string teleCARESupport = ConfigurationManager.AppSettings.Get("TeleCARESupport");
                string teleCAREWebsite = ConfigurationManager.AppSettings.Get("TeleCAREWebsite");


                if (string.IsNullOrEmpty(subject))
                {
                    subject = "TeleCARE Notification";
                }
                string body = "";

                body += "<p>" + emailText + " </p>";
                body += "<div>";
                body += "<br />";
                body += "<br />";
                body += $@"<p>Condado Group Inc.
                                          <br>1301 Burlington Street, Suite 150
                                          <br>Kansas City, MO 64116
                                          <br><a href=""{teleCARESupport}"">{teleCARESupport}</a>
                                          <br><a href=""{teleCAREWebsite}"" target=""_blank"">{teleCAREWebsite}</a>
                                          </p>";
                body += "<p>";
                body += $"Email Confidentiality Notice: The information contained in this transmission is confidential, proprietary or privileged and may be subject to protection under the law. The message is intended for the sole use of the individual or entity to whom it is addressed. If you are not the intended recipient, you are notified that any use, distribution or copying of the message is strictly prohibited and may subject you to criminal or civil penalties. If you received this transmission in error, please contact the sender immediately by replying to <a href=\"mailto:{teleCARESupport}\">{teleCARESupport}</a> and delete the material from any computer.";
                body += "</p>";
                body += "</div>";


                using (var message = new MailMessage())
                {
                    message.To.Add(to);
                    message.Subject    = subject;
                    message.Body       = body;
                    message.IsBodyHtml = true;

                    using (var smtpClient = new SmtpClient())
                    {
                        smtpClient.Send(message);
                        emailUpdateModel.error_email_date = DateTime.Now.ToEST();
                    }
                }
                _logger.AddLogEntry(_serviceName, "COMPLETED", "Email sent with case key=" + casekey + "", "SendEmail");
                return(emailUpdateModel);
            }
            catch (Exception exception)
            {
                _logger.AddLogEntry(_serviceName, "ERROR", exception.ToString(), "eAlertResend");
            }
            return(emailUpdateModel);
        }
Пример #2
0
        /// <summary>
        /// Send call to five9
        /// </summary>
        /// <param name="data"></param>
        /// <param name="f9Number"></param>
        /// <param name="f9Domain"></param>
        /// <returns>get eAlert processed data to update in database</returns>
        public eAlertUpdateViewModel SendCallRequestToFive9(eAlertViewModel data, string f9Number, string f9Domain)
        {
            var eAlertUpdateModel = new eAlertUpdateViewModel();

            eAlertUpdateModel.reprocessed_date        = DateTime.Now.ToEST();
            eAlertUpdateModel.wcl_request_retry_count = data.wcl_request_retry_count;
            eAlertUpdateModel.case_key = data.case_key;
            try
            {
                //fin9 complete url to process request
                var five9ApiUrl = five9URL + f9Domain + "&F9list=" + five9List;
                five9ApiUrl += "&F9key=case_number&F9updateCRM=1&case_number=" + data.case_number;
                five9ApiUrl += "&number1=" + f9Number;
                five9ApiUrl += "&case_type=" + data.case_type + "&Facility Name=" + data.facility_name + "&cart=" + data.cart + "&callback_number=" + data.callback_number;
                five9ApiUrl += "&callback_extension=" + data.callback_extension + "&F9CallASAP=0&F9retResults=1";

                _logger.AddLogEntry(_serviceName, "INPROGRESS", five9ApiUrl, "SendCallRequestToFive9");

                //send call to five9
                string result = scrapper.GetData(five9ApiUrl, "POST", null);
                if (!string.IsNullOrEmpty(result))
                {
                    //pars response returned from five9
                    var htmlDoc = new HtmlDocument();
                    htmlDoc.LoadHtml(result);

                    var htmlNodes = htmlDoc.DocumentNode.SelectNodes("//td/input");

                    //responbile to create json object
                    StringBuilder json = new StringBuilder();
                    json.Append("{");

                    for (int i = 0; i < htmlNodes.Count; i++)
                    {
                        string id    = htmlNodes[i].Attributes["id"].Value;
                        string value = htmlNodes[i].Attributes["value"].Value;
                        if (id == "F9errCode" && value == "0")
                        {
                            eAlertUpdateModel.error_code = value;
                        }
                        else if (id == "F9errCode" && value != "0")
                        {
                            eAlertUpdateModel.error_code = "TC-Error";
                        }
                        else if (id == "F9errDesc")
                        {
                            eAlertUpdateModel.error_description = value;
                        }
                        json.Append(string.Format(" \"{0}\":\"{1}\",", id, value));
                    }

                    // remove ',' at the end of the string
                    if (htmlNodes.Count > 0)
                    {
                        json.Remove(json.Length - 1, 1);
                    }
                    json.Append("}");

                    eAlertUpdateModel.raw_result = json.ToString();
                }

                _logger.AddLogEntry(_serviceName, "COMPLETED", five9ApiUrl, "SendCallRequestToFive9");
            }
            catch (Exception exception)
            {
                _logger.AddLogEntry(_serviceName, "ERROR", exception.ToString(), "SendCallRequestToFive9");
            }

            return(eAlertUpdateModel);
        }