public static void SendShareWishItemEmail(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
 {
     try
     {
         AspxWishItemProvider.SendShareWishItemEmail(aspxCommonObj, wishlistObj);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
 public void SendShareWishItemEmail(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
 {
     try
     {
         EmailTemplate.SendEmailForSharedWishList(aspxCommonObj, wishlistObj);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public void SendShareWishItemEmail(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
 {
     try
     {
         EmailTemplate.SendEmailForSharedWishList(aspxCommonObj,wishlistObj);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public void SaveShareWishListEmailMessage(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
        {
            List<KeyValuePair<string, object>> parameter = new List<KeyValuePair<string, object>>();
            parameter.Add(new KeyValuePair<string, object>("@StoreID", aspxCommonObj.StoreID));
            parameter.Add(new KeyValuePair<string, object>("@PortalID", aspxCommonObj.PortalID));
            parameter.Add(new KeyValuePair<string, object>("@ItemIDs", wishlistObj.ItemID));
            parameter.Add(new KeyValuePair<string, object>("@SenderName", wishlistObj.SenderName));
            parameter.Add(new KeyValuePair<string, object>("@SenderEmail", wishlistObj.SenderEmail));
            parameter.Add(new KeyValuePair<string, object>("@ReceiverEmailID", wishlistObj.ReceiverEmail));
            parameter.Add(new KeyValuePair<string, object>("@Subject", wishlistObj.Subject));
            parameter.Add(new KeyValuePair<string, object>("@Message", wishlistObj.Message));
            parameter.Add(new KeyValuePair<string, object>("@CultureName", aspxCommonObj.CultureName));
            SQLHandler sqlH = new SQLHandler();
            sqlH.ExecuteNonQuery("[usp_Aspx_SaveShareWishListEmail]", parameter);

        }
        public void SaveShareWishListEmailMessage(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
        {
            List <KeyValuePair <string, object> > parameter = new List <KeyValuePair <string, object> >();

            parameter.Add(new KeyValuePair <string, object>("@StoreID", aspxCommonObj.StoreID));
            parameter.Add(new KeyValuePair <string, object>("@PortalID", aspxCommonObj.PortalID));
            parameter.Add(new KeyValuePair <string, object>("@ItemIDs", wishlistObj.ItemID));
            parameter.Add(new KeyValuePair <string, object>("@SenderName", wishlistObj.SenderName));
            parameter.Add(new KeyValuePair <string, object>("@SenderEmail", wishlistObj.SenderEmail));
            parameter.Add(new KeyValuePair <string, object>("@ReceiverEmailID", wishlistObj.ReceiverEmail));
            parameter.Add(new KeyValuePair <string, object>("@Subject", wishlistObj.Subject));
            parameter.Add(new KeyValuePair <string, object>("@Message", wishlistObj.Message));
            parameter.Add(new KeyValuePair <string, object>("@CultureName", aspxCommonObj.CultureName));
            SQLHandler sqlH = new SQLHandler();

            sqlH.ExecuteNonQuery("[usp_Aspx_SaveShareWishListEmail]", parameter);
        }
        private void SendEmailForSharedWishList(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
        {
            string serverHostLoc = "http://" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/";
            string tdContent = string.Empty;
            var dataObj = JSONHelper.Deserialise<List<WishItemEmailInfo>>(wishlistObj.MessageBody);
            int length = dataObj.Count();
            string[] tdContentArray = new string[length];
            string shareWishMailHtml = "";
            shareWishMailHtml += "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td>";
            shareWishMailHtml += "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>";
            for (int i = 0; i <= length - 1; i++)
            {
                tdContent +=
                    "<td width='33%'><div style='border:1px solid #cfcfcf; background:#f1f1f1; padding:10px; text-align:center;'> <img src='" +
                    serverHostLoc + dataObj[i].src + "' alt='" + dataObj[i].alt + "' width='80' height='50' />";
                tdContent +=
                    "<p style='margin:0; padding:5px 0 0 0; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:normal; line-height:18px;'>";
                tdContent +=
                    "<span style='font-weight:bold; font-size:12px; font-family:Arial, Helvetica, sans-serif; text-shadow:1px 1px 0 #fff;'>" +
                    dataObj[i].title + "</span><br />"; //item name
                tdContent +=
                    "<span style='font-weight:bold; font-size:12px; font-family:Arial, Helvetica, sans-serif; text-shadow:1px 1px 0 #fff;'> <a href='" +
                    serverHostLoc + dataObj[i].href + "'>" + dataObj[i].hrefHtml + "</a></span><br />"; //item name
                tdContent +=
                    "<span style='font-weight:bold; font-size:11px; font-family:Arial, Helvetica, sans-serif; text-shadow:1px 1px 0 #fff;'>Price:</span>" +
                    dataObj[i].price + "<br />"; //price
                tdContent +=
                    "<span style='font-weight:bold; font-size:12px; font-family:Arial, Helvetica, sans-serif; text-shadow:1px 1px 0 #fff;'>Comments:</span> " +
                    dataObj[i].htmlComment + "</p></div></td>"; //comment
                tdContentArray[i] = tdContent;
                tdContent = "";
            }
            for (int j = 0; j <= length - 1; j++)
            {
                if (j % 3 == 0)
                {
                    shareWishMailHtml += "</tr><tr>" + tdContentArray[j];
                }
                else
                {
                    shareWishMailHtml += tdContentArray[j];
                }
            }
            shareWishMailHtml += "</tr></table></td></tr></table>";
            StoreSettingConfig ssc = new StoreSettingConfig();
            string logosrc = ssc.GetStoreSettingsByKey(StoreSetting.StoreLogoURL, aspxCommonObj.StoreID,
                                                       aspxCommonObj.PortalID, aspxCommonObj.CultureName);
            List<MessageManagementInfo> template =
                MessageManagementController.GetMessageTemplateByMessageTemplateTypeID(
                    SystemSetting.SHARED_WISHED_LIST, aspxCommonObj.PortalID);
            foreach (MessageManagementInfo messageToken in template)
            {
                string messageTemplate = messageToken.Body.ToString();
                string src = HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/";
                if (template != null)
                {
                    string[] tokens = GetAllToken(messageTemplate);
                    foreach (string token in tokens)
                    {
                        switch (token)
                        {
                            case "%DateTime%":
                                messageTemplate = messageTemplate.Replace(token,
                                                                          System.DateTime.Now.ToString("MM/dd/yyyy"));
                                break;
                            case "%Username%":
                                messageTemplate = messageTemplate.Replace(token, wishlistObj.SenderName);
                                break;
                            case "%UserEmail%":
                                messageTemplate = messageTemplate.Replace(token, wishlistObj.SenderEmail);
                                break;
                            case "%MessageDetails%":
                                messageTemplate = messageTemplate.Replace(token, wishlistObj.Message);
                                break;
                            case "%ItemDetailsTable%":
                                messageTemplate = messageTemplate.Replace(token, shareWishMailHtml);
                                break;
                            case "%LogoSource%":
                                string imgSrc = "http://" + src + logosrc;
                                messageTemplate = messageTemplate.Replace(token, imgSrc);
                                break;
                            case "%ServerPath%":
                                messageTemplate = messageTemplate.Replace(token, "http://" + src);
                                break;
                            case "%DateYear%":
                                messageTemplate = messageTemplate.Replace(token, System.DateTime.Now.Year.ToString());
                                break;
                        }
                    }
                }

                char[] spliter = { ',' };
                string[] receiverIDs = wishlistObj.ReceiverEmail.Split(spliter);

                for (int i = 0; i < receiverIDs.Length; i++)
                {
                    string receiverEmailID = receiverIDs[i];
                    string emailSuperAdmin;
                    string emailSiteAdmin;
                    SageFrameConfig pagebase = new SageFrameConfig();
                    emailSuperAdmin = pagebase.GetSettingsByKey(SageFrameSettingKeys.SuperUserEmail);
                    emailSiteAdmin = pagebase.GetSettingsByKey(SageFrameSettingKeys.SiteAdminEmailAddress);
                    MailHelper.SendMailNoAttachment(wishlistObj.SenderEmail, receiverEmailID, wishlistObj.Subject,
                                                    messageTemplate,
                                                    emailSiteAdmin, emailSuperAdmin);
                }
            }
        }
 public void SaveShareWishListEmailMessage(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
 {
     try
     {
         List<KeyValuePair<string, object>> parameter = CommonParmBuilder.GetParamSPC(aspxCommonObj);
         parameter.Add(new KeyValuePair<string, object>("@ItemIDs", wishlistObj.ItemID));
         parameter.Add(new KeyValuePair<string, object>("@SenderName", wishlistObj.SenderName));
         parameter.Add(new KeyValuePair<string, object>("@SenderEmail", wishlistObj.SenderEmail));
         parameter.Add(new KeyValuePair<string, object>("@ReceiverEmailID", wishlistObj.ReceiverEmail));
         parameter.Add(new KeyValuePair<string, object>("@Subject", wishlistObj.Subject));
         parameter.Add(new KeyValuePair<string, object>("@Message", wishlistObj.Message));
         SQLHandler sqlH = new SQLHandler();
         sqlH.ExecuteNonQuery("[usp_Aspx_SaveShareWishListEmail]", parameter);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
 public static void SaveShareWishListEmailMessage(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
 {
     AspxWishItemProvider.SaveShareWishListEmailMessage(aspxCommonObj, wishlistObj);
 }
 public void SendShareWishItemEmail(AspxCommonInfo aspxCommonObj, WishItemsEmailInfo wishlistObj)
 {
     try
     {
         WishItemProvider provider = new WishItemProvider();
         provider.SendShareWishItemEmail(aspxCommonObj, wishlistObj);
         SaveShareWishListEmailMessage(aspxCommonObj, wishlistObj);
     }
     catch (Exception e)
     {
         throw e;
     }
 }