Exemple #1
0
 public long SaveEmailStatus(Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus,
                             string MessageId, string EmailType, string EmailBody)
 {
     try
     {
         SqlDatabase database = MSSQLDataBase.Instance.GetDefaultDatabase();
         {
             DbCommand command = database.GetStoredProcCommand("SaveEmailStatus");
             command.CommandType = CommandType.StoredProcedure;
             database.AddInParameter(command, "@MessageId", DbType.String, MessageId);
             database.AddInParameter(command, "@EmailType", DbType.String, EmailType);
             database.AddInParameter(command, "@TransactionId", DbType.Guid, EmailStatus.TransactionID);
             database.AddInParameter(command, "@ToEmail", DbType.String, EmailStatus.To);
             database.AddInParameter(command, "@FromEmail", DbType.String, EmailStatus.From);
             //database.AddInParameter(command, "@DateSend", DbType.String, EmailStatus.DateSent);
             database.AddInParameter(command, "@DateOpened", DbType.DateTime, EmailStatus.DateOpened);
             database.AddInParameter(command, "@DateClicked", DbType.DateTime, EmailStatus.DateClicked);
             database.AddInParameter(command, "@Status", DbType.Int32, (int)EmailStatus.Status);
             database.AddInParameter(command, "@StatusName", DbType.String, EmailStatus.StatusName);
             database.AddInParameter(command, "@StatusChangeDate", DbType.DateTime, EmailStatus.StatusChangeDate);
             database.AddInParameter(command, "@ErrorMessage", DbType.String, EmailStatus.ErrorMessage);
             database.AddInParameter(command, "@EmailBody", DbType.String, EmailBody);
             DataSet returndata = database.ExecuteDataSet(command);
             return(Convert.ToInt64(returndata.Tables[0].Rows[0][0]));
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #2
0
 public void UpdateEmailStatus(Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus)
 {
     try
     {
         SqlDatabase database = MSSQLDataBase.Instance.GetDefaultDatabase();
         {
             DbCommand command = database.GetStoredProcCommand("UpdateEmailStatus");
             command.CommandType = CommandType.StoredProcedure;
             database.AddInParameter(command, "@TransactionId", DbType.Guid, EmailStatus.TransactionID);
             database.AddInParameter(command, "@ToEmail", DbType.String, EmailStatus.To);
             database.AddInParameter(command, "@Status", DbType.String, (int)EmailStatus.Status);
             database.AddInParameter(command, "@StatusChangeDate", DbType.String, EmailStatus.StatusChangeDate);
             database.ExecuteNonQuery(command);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #3
0
        public static void UpdateEmailStatus(string transaction, string to, string date, string status,
                                             string channel, string account, string category, string target)
        {
            Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus = new Common.ElasticEmailClient.ApiTypes.EmailStatus();
            if (!string.IsNullOrEmpty(transaction))
            {
                EmailStatus.TransactionID = new Guid(transaction);
            }
            if (!string.IsNullOrEmpty(to))
            {
                EmailStatus.To = to;
            }
            if (!string.IsNullOrEmpty(date))
            {
                EmailStatus.StatusChangeDate = Convert.ToDateTime(date);
            }
            if (!string.IsNullOrEmpty(status))
            {
                EmailStatus.Status = status.ToEnum <Common.ElasticEmailClient.ApiTypes.LogJobStatus>();
            }

            UtilityDAL.Instance.UpdateEmailStatus(EmailStatus);
        }
Exemple #4
0
        private static long SendEmailAsync(string EmailType, string strEmailTemplate, string strToAddress, string strSubject,
                                           string strBody, List <Attachment> lstAttachments, List <AlternateView> lstAlternateView = null,
                                           string[] CC = null, string[] BCC = null)
        {
            bool retValue = false;

            //if (!InstallUserBLL.Instance.CheckUnsubscribedEmail(strToAddress))
            //{
            try
            {
                /* Sample HTML Template
                 * *****************************************************************************
                 * Hi #lblFName#,
                 * <br/>
                 * <br/>
                 * You are requested to appear for an interview on #lblDate# - #lblTime#.
                 * <br/>
                 * <br/>
                 * Regards,
                 * <br/>
                 */

                string defaultEmailFrom = ConfigurationManager.AppSettings["defaultEmailFrom"].ToString();
                string userName         = ConfigurationManager.AppSettings["smtpUName"].ToString();
                string password         = ConfigurationManager.AppSettings["smtpPwd"].ToString();

                //if (JGApplicationInfo.GetApplicationEnvironment() == "1" || JGApplicationInfo.GetApplicationEnvironment() == "2")
                //{
                //    strBody = String.Concat(strBody, "<br/><br/><h1>Email is intended for Email Address: " + strToAddress + "</h1><br/><br/>");
                //    strToAddress = "*****@*****.**";

                //}

                MailMessage Msg = new MailMessage();
                Msg.From = new MailAddress(defaultEmailFrom, "JGrove Construction");
                if (JGApplicationInfo.GetApplicationEnvironment() == "1" || JGApplicationInfo.GetApplicationEnvironment() == "2")
                {
                    strBody = String.Concat(strBody, "<br/><br/><h1>Email is intended for Email Address: " + string.Join(", ", strToAddress) + "</h1><br/><br/>");
                    Msg.To.Add("*****@*****.**");
                    Msg.To.Add("*****@*****.**");
                }
                else
                {
                    if (!InstallUserBLL.Instance.CheckUnsubscribedEmail(strToAddress))
                    {
                        Msg.To.Add(strToAddress);
                    }
                }
                #region Check for autologin url
                if (strBody.Contains("{AutoLoginCode}"))
                {
                    // Generate auto login code
                    string loginCode = InstallUserDAL.Instance.GenerateLoginCode(strToAddress).Object;
                    strBody = strBody.Replace("{AutoLoginCode}", loginCode);
                }
                #endregion
                // Msg.To.Add(strToAddress);
                // Msg.Bcc.Add(JGApplicationInfo.GetDefaultBCCEmail());
                Msg.Subject    = strSubject;// "JG Prospect Notification";
                Msg.Body       = strBody;
                Msg.IsBodyHtml = true;
                if (CC != null)
                {
                    foreach (string email in CC)
                    {
                        Msg.CC.Add(email);
                    }
                }
                if (BCC != null)
                {
                    foreach (string email in BCC)
                    {
                        Msg.Bcc.Add(email);
                    }
                }
                //ds = AdminBLL.Instance.GetEmailTemplate('');
                //// your remote SMTP server IP.
                if (lstAttachments != null)
                {
                    foreach (Attachment objAttachment in lstAttachments)
                    {
                        Msg.Attachments.Add(objAttachment);
                    }
                }

                if (lstAlternateView != null)
                {
                    foreach (AlternateView objAlternateView in lstAlternateView)
                    {
                        Msg.AlternateViews.Add(objAlternateView);
                    }
                }

                SmtpClient sc = new SmtpClient(
                    ConfigurationManager.AppSettings["smtpHost"].ToString(),
                    Convert.ToInt32(ConfigurationManager.AppSettings["smtpPort"].ToString())
                    );
                NetworkCredential ntw = new NetworkCredential(userName, password);
                sc.UseDefaultCredentials = false;
                sc.Credentials           = ntw;
                sc.DeliveryMethod        = SmtpDeliveryMethod.Network;
                sc.EnableSsl             = Convert.ToBoolean(ConfigurationManager.AppSettings["enableSSL"].ToString()); // runtime encrypt the SMTP communications using SSL

                //sc.Send(Msg);
                Common.ElasticEmailClient.ApiTypes.EmailSend data = Common.ElasticEmailClient.Api.Email.Send(subject: strSubject,
                                                                                                             from: ConfigurationManager.AppSettings["defaultEmailFrom"].ToString(),
                                                                                                             to: new List <string> {
                    strToAddress
                }, bodyHtml: strBody, isTransactional: true, trackOpens: true, trackClicks: true);

                /*
                 * JG_Prospect.Common.ElasticEmailClient.ApiTypes.EmailStatus data =
                 *  JG_Prospect.Common.ElasticEmailClient.Api.Email.Status("0zkOx0X3qGqbp74sVO-nYg2");
                 *
                 * JG_Prospect.Common.ElasticEmailClient.ApiTypes.EmailJobStatus ss =
                 *  JG_Prospect.Common.ElasticEmailClient.Api.Email.GetStatus("310e4832-13a6-81c5-c032-307a2ff9dc58", showFailed: true, showSent: true,
                 *              showDelivered: true, showPending: true, showOpened: true, showClicked: true, showAbuse: true, showUnsubscribed: true,
                 *              showErrors: true, showMessageIDs: true);
                 */
                // Get Status using MessageId And TransactionId & save into database
                //Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus =
                //    Common.ElasticEmailClient.Api.Email.Status(data.MessageID);
                //if (EmailStatus != null)
                //{
                Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus = new Common.ElasticEmailClient.ApiTypes.EmailStatus();
                EmailStatus.Status           = Common.ElasticEmailClient.ApiTypes.LogJobStatus.Sent;
                EmailStatus.From             = ConfigurationManager.AppSettings["defaultEmailFrom"].ToString();
                EmailStatus.To               = strToAddress;
                EmailStatus.TransactionID    = new Guid(data.TransactionID);
                EmailStatus.ErrorMessage     = data.MessageID;
                EmailStatus.DateOpened       = null;
                EmailStatus.DateClicked      = null;
                EmailStatus.StatusName       = Common.ElasticEmailClient.ApiTypes.LogJobStatus.Sent.ToString();
                EmailStatus.StatusChangeDate = DateTime.UtcNow;
                EmailStatus.ErrorMessage     = null;

                long EmailStatusId = SaveEmailStatus(EmailStatus, data.MessageID, EmailType, strBody);
                //}

                retValue = true;

                Msg = null;
                sc.Dispose();
                sc = null;
                return(EmailStatusId);
            }
            catch (Exception ex)
            {
                UpdateEmailStatistics(String.Concat(strToAddress, "-", ex.Message));

                //if (JGApplicationInfo.IsSendEmailExceptionOn())
                //{
                //    CommonFunction.SendExceptionEmail(ex);
                //}
            }
            //}
            return(0);
        }
Exemple #5
0
 public static long SaveEmailStatus(Common.ElasticEmailClient.ApiTypes.EmailStatus EmailStatus, string MessageId, string EmailType, string EmailBody)
 {
     return(UtilityDAL.Instance.SaveEmailStatus(EmailStatus, MessageId, EmailType, EmailBody));
 }