public void ActivateElectronicSendMailToCustomer(SOInfo soInfo)
        {
            try
            {
                ECCentral.BizEntity.Customer.CustomerBasicInfo customerInfo = GetCustomerBaseInfo(soInfo.BaseInfo.CustomerSysNo.Value);
                string customerEmail = customerInfo.Email == null ? null : customerInfo.Email.Trim();

                if (customerEmail == null)
                {
                    return;
                }
                KeyValueVariables keyValueVariables = new KeyValueVariables();
                keyValueVariables.Add("CustomerID", customerInfo.CustomerID);
                keyValueVariables.Add("Quantity", soInfo.Items[0].Quantity);
                keyValueVariables.Add("TotalAmount", (soInfo.Items[0].Quantity.Value * soInfo.Items[0].OriginalPrice.Value).ToString(SOConst.DecimalFormat));
                keyValueVariables.Add("ExpireYear", DateTime.Now.AddYears(2).Year);
                keyValueVariables.Add("ExpireMonth", DateTime.Now.Month);
                keyValueVariables.Add("ExpireDay", DateTime.Now.Day);
                keyValueVariables.Add("NowYear", DateTime.Now.Year);
                ExternalDomainBroker.SendExternalEmail(customerEmail, "SO_ActivateElectronicGiftCard", keyValueVariables, customerInfo.FavoriteLanguageCode);
            }
            catch (Exception ex)
            {
                ExceptionHelper.HandleException(ex);
            }
        }
        /// <summary>
        /// 退款转礼品卡成功则像客户发送一封邮件
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="giftCardResultCode"></param>
        protected virtual void SendGiftCardEmail(SOIncomeRefundInfo entity, string giftCardResultCode)
        {
            int code = 0;
            if (int.TryParse(giftCardResultCode, out code) && code == 0)
            {
                var customer = ExternalDomainBroker.GetCustomerBasicInfo(entity.CustomerSysNo.Value);

                KeyValueVariables vars = new KeyValueVariables();
                vars.Add("CustomerID", customer.CustomerID);
                vars.Add("TotalValue", entity.RefundCashAmt.Value);
                vars.Add("ExpireYear", DateTime.Now.AddYears(2).Year);
                vars.Add("ExpireMonth", DateTime.Now.Month);
                vars.Add("ExpireDay", DateTime.Now.Day);
                vars.Add("Year", DateTime.Now.Year);
                EmailHelper.SendEmailByTemplate(customer.Email, "Refund_GiftCard_Notify", vars, true, customer.FavoriteLanguageCode);
            }
            else
            {
                //记录操作日志
                ObjectFactory<ICommonBizInteract>.Instance.CreateOperationLog(
                    GetMessageString("SOIncomeRefund_Log_GiftCardRefundFailed", entity.SOSysNo.Value)
                    , BizLogType.AuditRefund_Update
                    , entity.SysNo.Value
                    , entity.CompanyCode);

                ThrowBizException("SOIncomeRefund_Log_GiftCardRefundFailed", entity.SOSysNo.Value);
            }
        }
Example #3
0
        public void BuildData(NameValueCollection requestPostData, out KeyValueVariables variables, out KeyTableVariables tableVariables)
        {
            variables      = new KeyValueVariables();
            tableVariables = new KeyTableVariables();

            if (requestPostData != null)
            {
                variables.Add("TotalAmount", HttpUtility.UrlDecode(requestPostData["TotalAmount"]));
            }
            int       count;
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("VendorName");
            dataTable.Columns.Add("InvoiceTime");
            dataTable.Columns.Add("InputTime");
            dataTable.Columns.Add("TotalAmt");
            dataTable.Columns.Add("InvoiceNumber");

            if (int.TryParse(requestPostData["InvoiceCount"], out count))
            {
                DataRow row;
                for (int i = 0; i < count; i++)
                {
                    row = dataTable.NewRow();
                    row["VendorName"]    = HttpUtility.UrlDecode(requestPostData["V" + i]);
                    row["InvoiceTime"]   = HttpUtility.UrlDecode(requestPostData["I" + i]);
                    row["InputTime"]     = HttpUtility.UrlDecode(requestPostData["T" + i]);
                    row["TotalAmt"]      = HttpUtility.UrlDecode(requestPostData["A" + i]);
                    row["InvoiceNumber"] = HttpUtility.UrlDecode(requestPostData["N" + i]);
                    dataTable.Rows.Add(row);
                }
            }
            tableVariables.Add("InvoiceDetailList", dataTable);
        }
Example #4
0
        public void BuildData(System.Collections.Specialized.NameValueCollection requestPostData, out KeyValueVariables variables, out KeyTableVariables tableVariables)
        {
            variables      = new KeyValueVariables();
            tableVariables = new KeyTableVariables();

            string param        = requestPostData["ConsignSysNo"];
            int    ConsignSysNo = 0;

            DataTable table      = CreatePrintData();
            DataTable errorTable = new DataTable();

            try
            {
                if (!int.TryParse(param, out ConsignSysNo))
                {
                    throw new BizException(string.Format("非法的结算单号{0}", param));
                }

                InitData(ConsignSysNo, table);
            }
            catch (BizException ex)
            {
                InitErrorTable(ex, errorTable);
            }

            tableVariables.Add("Error", errorTable);
            tableVariables.Add("ConsignLeasePrint", table);
        }
Example #5
0
        public void BuildData(System.Collections.Specialized.NameValueCollection requestPostData, out KeyValueVariables variables, out KeyTableVariables tableVariables)
        {
            variables      = new KeyValueVariables();
            tableVariables = new KeyTableVariables();

            string param      = requestPostData["GroupSysNo"];
            int    GroupSysNo = 0;

            DataTable table      = CreatePrintData();
            DataTable errorTable = new DataTable();

            try
            {
                if (!int.TryParse(param, out GroupSysNo))
                {
                    throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_IllegalGroupID"), param));
                }

                InitData(GroupSysNo, table);
            }
            catch (BizException ex)
            {
                InitErrorTable(ex, errorTable);
            }

            tableVariables.Add("Error", errorTable);
            tableVariables.Add("ConsignLeasePrint", table);
        }
Example #6
0
        /// <summary>
        /// 操作人、
        /// 处理的订单总数量、
        /// 已解决的订单数量、
        /// 未解决的订单数量、
        /// 解决率(已解决的数量/订单总数量*100%)
        /// </summary>
        /// <param name="reports"></param>
        void SendMail(List <InternalMemoReport> reports)
        {
            KeyValueVariables replaceContent = new KeyValueVariables();

            replaceContent.AddKeyValue("#Time#", DateTime.Now.ToString());

            DataTable tableList = new DataTable();

            tableList.Columns.AddRange(new DataColumn[]
            {
                new DataColumn("UserName"),
                new DataColumn("Count"),
                new DataColumn("ResolvedCount"),
                new DataColumn("UnResolvedCount"),
                new DataColumn("ResolvedRate")
            });
            foreach (var item in reports)
            {
                tableList.Rows.Add(item.UserName, item.Count, item.ResolvedCount, item.UnResolvedCount, item.ResolvedRate);
            }
            KeyTableVariables tableContent = new KeyTableVariables();

            tableContent.Add("tbData", tableList);

            ExternalDomainBroker.SendEmail(m_emailTO, m_emailCC, "", "SO_InternalMemoReport", replaceContent, tableContent, false, true);
        }
Example #7
0
        private void SendVoidMail(string customerEmail)
        {
            KeyValueVariables vars = new KeyValueVariables();

            vars.Add("Year", DateTime.Now.Year);
            ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(customerEmail, "CustomerGift_Void", vars, false);
        }
Example #8
0
        /// <summary>
        /// 发送投诉邮件通知
        /// </summary>
        /// <param name="complainSysNo">投诉单号</param>
        public void SendMain(int complainSysNo)
        {
            var info = GetInfo(complainSysNo);

            //更新操作人
            info.ProcessInfo.OperatorSysNo = ServiceContext.Current.UserSysNo;
            m_da.UpdateCompainOperatorUser(info.ProcessInfo);

            //发送邮件
            KeyValueVariables vars = new KeyValueVariables();

            vars.Add("Title", info.ComplaintCotentInfo.Subject);
            vars.Add("SysNo", info.ComplaintCotentInfo.SysNo);
            vars.Add("Content", info.ProcessInfo.ReplyContent.Replace(Environment.NewLine, "<BR/>"));

            CustomerInfo customerInfo = null;

            if (info.ComplaintCotentInfo.CustomerSysNo.HasValue)
            {
                customerInfo = ExternalDomainBroker.GetCustomerInfo(info.ComplaintCotentInfo.CustomerSysNo.Value);
            }

            if (customerInfo != null)
            {
                ExternalDomainBroker.SendExternalEmail(customerInfo.BasicInfo.Email, "SO_ReplyComplainEmail", vars, customerInfo.BasicInfo.FavoriteLanguageCode);
            }
            //写入日志
            AddHistory(info, ReplyOperatorType.SendMain);
        }
Example #9
0
        public void BuildData(NameValueCollection requestPostData, out KeyValueVariables variables, out KeyTableVariables tableVariables)
        {
            variables      = new KeyValueVariables();
            tableVariables = new KeyTableVariables();

            string sysNo = requestPostData["SysNo"];

            if (!string.IsNullOrEmpty(sysNo))
            {
                int refundSysNo;

                if (int.TryParse(sysNo, out refundSysNo))
                {
                    var     refundInfo = GetRefundInfo(refundSysNo);
                    decimal?totalAmt   = refundInfo.Items.Sum(p =>
                    {
                        if (!p.IsPoint)
                        {
                            return(p.TotalAmount);
                        }
                        return(0);
                    });
                    if (refundInfo.CashAmount != null && refundInfo.CashAmount != 0)
                    {
                        variables.Add("JsFunction", "sf();");
                        variables.Add("SOSysNo", refundInfo.SOSysNo);
                        variables.Add("Now", DateTime.Now.ToShortDateString());
                        variables.Add("AuditUserName", refundInfo.AuditUserName);
                        variables.Add("ReceiveName", refundInfo.ReceiveName);
                        variables.Add("CustomerSysNo", refundInfo.CustomerSysNo);
                        variables.Add("CustomerName", refundInfo.CustomerName);
                        variables.Add("ReceiveAddress", refundInfo.ReceiveAddress);
                        variables.Add("ReceivePhone", refundInfo.ReceivePhone);
                        variables.Add("InvoiceNote", refundInfo.InvoiceNote);
                        variables.Add("PayTypeName", refundInfo.PayTypeName);
                        variables.Add("ShipTypeName", refundInfo.ShipTypeName);
                        variables.Add("RefundID", refundInfo.RefundID);
                        variables.Add("TotalAmount", ToLowerChineseMoney(totalAmt.Value));
                        variables.Add("ChineseTotalAmount", ToUpperChineseMoney(totalAmt.Value));
                    }

                    DataTable t = new DataTable();
                    t.Columns.Add("ProductID");
                    t.Columns.Add("ProductName");
                    t.Columns.Add("PrintPrice");
                    t.Columns.Add("PrintQuantity");
                    t.Columns.Add("PrintTotalAmount");

                    if (refundInfo.Items != null)
                    {
                        refundInfo.Items.ForEach(p =>
                        {
                            t.Rows.Add(p.ProductID, p.ProductName, p.Price, p.Quantity, p.PrintTotalAmount);
                        });
                    }

                    tableVariables.Add("RefundItems", t);
                }
            }
        }
Example #10
0
        public void PriceChangedSendMail(SOInfo soInfo)
        {
            try
            {
                List <SOInternalMemoInfo> memoList = ObjectFactory <SOInternalMemoProcessor> .Instance.GetBySOSysNo(soInfo.SysNo.Value);

                List <int> productSysNoList = (from item in soInfo.Items
                                               select item.ProductSysNo.Value).ToList();
                List <ECCentral.BizEntity.IM.ProductInfo> productList = ExternalDomainBroker.GetProductInfoListByProductSysNoList(productSysNoList);
                if (productList != null)
                {
                    DataTable dtMemo = new DataTable();
                    dtMemo.Columns.AddRange(new DataColumn[]
                    {
                        new DataColumn("LogTime"),
                        new DataColumn("Content"),
                        new DataColumn("Note")
                    });
                    productList.ForEach(p =>
                    {
                        SOItemInfo item = soInfo.Items.Find(i => i.ProductSysNo.Value == p.SysNo);
                        if (item != null)
                        {
                            KeyValueVariables keyValueVariables = new KeyValueVariables();
                            KeyTableVariables keyTableVariables = new KeyTableVariables();
                            string pmEmailAddress  = p.ProductBasicInfo.ProductManager.UserInfo.EmailAddress;
                            StringBuilder mailBody = new StringBuilder();
                            keyValueVariables.Add("SOSysNo", soInfo.SysNo.Value);
                            keyValueVariables.Add("ProductID", item.ProductID);
                            keyValueVariables.Add("ProductName", item.ProductName);
                            keyValueVariables.Add("Quantity", item.Quantity);
                            keyValueVariables.Add("Weight", item.Weight);
                            keyValueVariables.Add("Price", item.Price);
                            keyValueVariables.Add("GainAveragePoint", item.GainAveragePoint);
                            keyValueVariables.Add("PromotionAmount", item.PromotionAmount);
                            keyValueVariables.Add("Warranty", item.Warranty);
                            if (memoList != null && memoList.Count > 0 && dtMemo.Rows.Count == 0)
                            {
                                foreach (SOInternalMemoInfo internalMemo in memoList)
                                {
                                    DataRow dr    = dtMemo.NewRow();
                                    dr["LogTime"] = internalMemo.LogTime.HasValue ? internalMemo.LogTime.Value.ToString(SOConst.DateTimeFormat) : String.Empty;
                                    dr["Content"] = internalMemo.Content;
                                    dr["Note"]    = internalMemo.Note;
                                    dtMemo.Rows.Add(dr);
                                }
                            }
                            keyValueVariables.Add("MemoListDisplay", dtMemo.Rows.Count > 0);
                            keyTableVariables.Add("MemoList", dtMemo);
                            ExternalDomainBroker.SendInternalEmail("SO_Product_PriceChanged", keyValueVariables, keyTableVariables);
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                ExceptionHelper.HandleException(ex);
            }
        }
Example #11
0
        public void ElectronicSOPriceNotExists(SOInfo soInfo)
        {
            KeyValueVariables keyValueVariables = new KeyValueVariables();

            keyValueVariables.Add("SOSysNo", soInfo.SysNo);
            keyValueVariables.Add("StockSysNo", soInfo.Items[0].StockSysNo);
            ExternalDomainBroker.SendInternalEmail("Invoice_Generate_Error", keyValueVariables);
        }
Example #12
0
        /// <summary>
        /// 发送内部邮件
        /// </summary>
        /// <param name="emailList">发送地址列表</param>
        /// <param name="title">标题可以不填</param>
        /// <param name="content">发送内容</param>
        /// <returns>返回成功发送列表</returns>
        public List <string> SendInternalEmail(List <string> emailList, string title, string content, string language)
        {
            KeyValueVariables vars = new KeyValueVariables();

            vars.Add("Title", title);
            vars.Add("Content", content);
            ExternalDomainBroker.SendExternalEmail(string.Join(";", emailList), "SO_InternalEmail", vars, language);
            return(emailList);
        }
Example #13
0
 private static string BuildMailSubject(string mailSubject, KeyValueVariables keyValues)
 {
     foreach (var replaceItem in keyValues)
     {
         string pa = string.Format(PLACE_HOLDER, replaceItem.Key);
         mailSubject = Regex.Replace(mailSubject, pa, replaceItem.Value == null ? String.Empty : replaceItem.Value.ToString());
     }
     return(mailSubject);
 }
Example #14
0
        public void BuildData(System.Collections.Specialized.NameValueCollection requestPostData, out KeyValueVariables variables, out KeyTableVariables tableVariables)
        {
            variables      = new KeyValueVariables();
            tableVariables = new KeyTableVariables();
            string sysNo = requestPostData["SysNo"];

            if (sysNo != null && sysNo.Trim() != String.Empty)
            {
                sysNo = System.Web.HttpUtility.UrlDecode(sysNo);
                int requestSysNo = int.TryParse(sysNo, out requestSysNo) ? requestSysNo : int.MinValue;

                if (requestSysNo > int.MinValue)
                {
                    AdjustRequestInfo requestInfo = ObjectFactory <AdjustRequestAppService> .Instance.GetAdjustRequestInfoBySysNo(requestSysNo);

                    variables.Add("SelfCompanyName", ResouceManager.GetMessageString(CommonConst.MessagePath_Common, "Res_Company_Name"));
                    variables.Add("SelfCompanyAddress", ResouceManager.GetMessageString(CommonConst.MessagePath_Common, "Res_Company_Address"));
                    variables.Add("SelfCompanyPhone", ResouceManager.GetMessageString(CommonConst.MessagePath_Common, "Res_Company_Phone"));
                    variables.Add("SelfCompanyWebAddress", ResouceManager.GetMessageString(CommonConst.MessagePath_Common, "Res_Company_Url"));
                    variables.Add("CreateUser", requestInfo.CreateUser.UserDisplayName);
                    variables.Add("CreateDate", requestInfo.CreateDate.HasValue ? requestInfo.CreateDate.Value.ToString(SOConst.LongTimeFormat) : string.Empty);
                    variables.Add("AuditUser", requestInfo.AuditUser.UserDisplayName);
                    variables.Add("AuditDate", requestInfo.AuditDate.HasValue ? requestInfo.AuditDate.Value.ToString(SOConst.LongTimeFormat) : string.Empty);
                    variables.Add("RequestSysNo", requestInfo.RequestID);
                    variables.Add("Stock", requestInfo.Stock == null ? "" : requestInfo.Stock.StockName);
                    variables.Add("Status", requestInfo.RequestStatus.ToDisplayText());
                    variables.Add("OutStockUser", requestInfo.OutStockUser.UserDisplayName);
                    variables.Add("OutStockDate", requestInfo.OutStockDate.HasValue ? requestInfo.OutStockDate.Value.ToString(SOConst.LongTimeFormat) : string.Empty);
                    variables.Add("Note", requestInfo.Note);

                    DataTable dtProduct = new DataTable();
                    dtProduct.Columns.AddRange(new System.Data.DataColumn[]
                    {
                        new DataColumn("ProductID"),
                        new DataColumn("ProductName"),
                        new DataColumn("Price"),
                        new DataColumn("Quantity"),
                        new DataColumn("Amount")
                    });
                    decimal totalAmount = 0M;
                    requestInfo.AdjustItemInfoList.ForEach(p =>
                    {
                        totalAmount             += p.AdjustQuantity * p.AdjustCost;
                        DataRow drProduct        = dtProduct.NewRow();
                        drProduct["ProductID"]   = p.AdjustProduct.ProductID;
                        drProduct["ProductName"] = p.AdjustProduct.ProductBasicInfo.ProductTitle;
                        drProduct["Price"]       = p.AdjustCost.ToString("N2");
                        drProduct["Quantity"]    = p.AdjustQuantity;
                        drProduct["Amount"]      = (p.AdjustQuantity * p.AdjustCost).ToString("N2");
                        dtProduct.Rows.Add(drProduct);
                    });
                    variables.Add("TotalAmount", totalAmount.ToString("N2"));
                    tableVariables.Add("ProductList", dtProduct);
                }
            }
        }
Example #15
0
        public static MailTemplate BuildMailTemplate(MailTemplate template, KeyValueVariables keyValues, KeyTableVariables keyTables)
        {
            if (template == null)
            {
                throw new ArgumentException("参数不能为null!", "template");
            }
            template.Subject = TemplateString.BuildHtml(template.Subject, keyValues, keyTables);
            template.Body    = TemplateString.BuildHtml(template.Subject, keyValues, keyTables);

            return(template);
        }
        private static void SendMail(string mailSubject, int computerConfigSysNo, string operationNote, string companyCode, int createUserSysNo)
        {
            var userInfo = ExternalDomainBroker.GetUserInfoBySysNo(createUserSysNo);
            var param    = new KeyValueVariables();

            param.Add("Subject", mailSubject);
            param.Add("LogSysNo", computerConfigSysNo);
            param.Add("OperationNote", operationNote);
            param.Add("CompanyCode", companyCode);
            ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(userInfo.EmailAddress, "MKT_ComputerConfig_Edit", param, true);
        }
Example #17
0
 /// <summary>
 /// 异步发送外部邮件
 /// </summary>
 /// <param name="mailInfoMessage"></param>
 public static void SendExternalEmail(string toAddress, string templateID, KeyValueVariables keyValueVariables, KeyTableVariables keyTableVariables, string languageCode)
 {
     try
     {
         ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(toAddress, templateID, keyValueVariables, keyTableVariables, languageCode);
     }
     catch (Exception ex)
     {
         ExceptionHelper.HandleException(ex);
     }
 }
Example #18
0
        public void Test_GiftCardMailTest()
        {
            KeyValueVariables vars = new KeyValueVariables();

            vars.Add("$$CustomerID", "Poseidon.Y.Tong");
            vars.Add("$$TotalValue", "230.00");
            vars.Add("$$ExpireDate", DateTime.Now.AddYears(2).ToString("yyyy-MM-dd"));
            vars.Add("$$LinkToMyAccount", "http://www.newegg.com.cn/Customer/MyGiftCard.aspx");

            // var html = ObjectFactory<IEmailBizInteract>.Instance.GetMailTemplatesHtml("Refund_GiftCard_Notify", vars, null, "zh-CN");
        }
Example #19
0
        /// <summary>
        /// 发送邮件通知PM Combo的因商品调价,状态已改
        /// </summary>
        /// <param name="combo"></param>
        protected virtual void SendMail(ComboInfo combo)
        {
            UserInfo          user = ExternalDomainBroker.GetUserInfoBySysNo(combo.CreateUserSysNo.Value);
            KeyValueVariables keyValueVariables = new KeyValueVariables();

            keyValueVariables.Add("ComboSysNo", combo.SysNo.Value.ToString());
            keyValueVariables.Add("ComboName", combo.Name.Content);
            keyValueVariables.Add("PMUser", user.UserDisplayName);
            EmailHelper.SendEmailByTemplate(user.EmailAddress,
                                            "MKT_Combo_ChangeStatusForChangeProductPrice", keyValueVariables, true);
        }
Example #20
0
        private void SendNotifyMail(string customerEmail, string productName, string customerId)
        {
            KeyValueVariables vars = new KeyValueVariables();

            vars.Add("GiftProductName", productName);
            vars.Add("Year", DateTime.Now.Year);
            if (string.IsNullOrEmpty(customerEmail))
            {
                throw new BizException("顾客帐号:" + customerId + " : 邮件收件人不能为空!");
            }
            ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(customerEmail, "CustomerGift_Notify", vars, false);
        }
Example #21
0
        private void SendCreateEmail(string email, string requestId)
        {
            if (StringUtility.IsNullOrEmpty(email) || StringUtility.IsNullOrEmpty(requestId))
            {
                return;
            }
            KeyValueVariables vars = new KeyValueVariables();

            vars.Add("RequestID", requestId);

            EmailHelper.SendEmailByTemplate(email, "RMARequest_Create", vars);
        }
Example #22
0
        public void GiftCardMailMethod()
        {
            KeyValueVariables vars = new KeyValueVariables();

            vars.Add("CustomerID", "geeker");
            vars.Add("TotalValue", 500);
            vars.Add("ExpireYear", DateTime.Now.AddYears(2).Year);
            vars.Add("ExpireMonth", DateTime.Now.Month);
            vars.Add("ExpireDay", DateTime.Now.Day);
            vars.Add("Year", DateTime.Now.Year);
            EmailHelper.SendEmailByTemplate("*****@*****.**", "Refund_GiftCard_Notify", vars, null, "zh-CN");
        }
Example #23
0
        /// <summary>
        /// 回复邮件操作,并发送邮件
        /// </summary>
        /// <param name="item"></param>
        public virtual void UpdateProductReviewMailLog(ProductReview item)
        {
            //保存邮件日志
            if (!string.IsNullOrEmpty(item.ProductReviewMailLog.TopicMailContent.Content) || !string.IsNullOrEmpty(item.ProductReviewMailLog.CSNote.Content))
            {
                if (productReviewMailLogDA.CheckProductCommentMailLog(item.ProductReviewMailLog))
                {
                    productReviewMailLogDA.UpdateProductCommentMailLog(item.ProductReviewMailLog);
                }
                else
                {
                    productReviewMailLogDA.CreateProductCommentMailLog(item.ProductReviewMailLog);
                }
            }
            productReviewDA.UpdateProductReview(item);

            #region 发送邮件
            KeyValueVariables replaceVariables = new KeyValueVariables();

            ECCentral.BizEntity.IM.ProductInfo product = ExternalDomainBroker.GetProductInfo(item.ProductSysNo.Value);
            replaceVariables.AddKeyValue(@"ProductID", product.ProductID);
            replaceVariables.AddKeyValue(@"ProductName", product.ProductName);

            replaceVariables.AddKeyValue(@"ProductLink", item.ProductID);
            replaceVariables.AddKeyValue(@"Title", item.Title);
            replaceVariables.AddKeyValue(@"ProductContent", string.Format(ResouceManager.GetMessageString("MKT.Comment", "Comment_ProductReviewMailMainContent"), item.Prons, item.Cons, item.Service));

            //replaceVariables.AddKeyValue(@"#InUser#", ServiceContext.Current.);
            //replaceVariables.AddKeyValue(@"#InDateAll#", DateTime.Now.ToString());
            replaceVariables.AddKeyValue(@"InDateAll-Y", DateTime.Now.Year.ToString());
            replaceVariables.AddKeyValue(@"InDateAll-M", DateTime.Now.Month.ToString());
            replaceVariables.AddKeyValue(@"InDateAll-D", DateTime.Now.Day.ToString());

            replaceVariables.AddKeyValue(@"EmailText", item.ProductReviewMailLog.TopicMailContent.Content);
            replaceVariables.AddKeyValue(@"All", DateTime.Now.ToString());
            replaceVariables.AddKeyValue(@"InDate-Y", DateTime.Now.Year.ToString());
            replaceVariables.AddKeyValue(@"InDate-M", DateTime.Now.Month.ToString());
            replaceVariables.AddKeyValue(@"InDate-D", DateTime.Now.Day.ToString());
            replaceVariables.AddKeyValue(@"Year", DateTime.Now.Year.ToString());

            ECCentral.BizEntity.Customer.CustomerInfo customer = ExternalDomainBroker.GetCustomerInfo(item.CustomerSysNo.Value);
            replaceVariables.AddKeyValue(@"CustomerName", customer.BasicInfo.CustomerID);
            if (string.IsNullOrEmpty(customer.BasicInfo.Email))
            {
                //throw new BizException("邮件地址为空!");
                throw new BizException(ResouceManager.GetMessageString("MKT.ProductReview", "ProductReview_EmailNotNull"));
            }
            else
            {
                ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(customer.BasicInfo.Email, "MKT_ProductReviewMailContent", replaceVariables, false);
            }
            #endregion
        }
        public void BuyGrifCardMailMethod()
        {
            KeyValueVariables keyValueVariables = new KeyValueVariables();

            keyValueVariables.Add("CustomerID", "Geeker");
            keyValueVariables.Add("Quantity", 2);
            keyValueVariables.Add("TotalAmount", 300);
            keyValueVariables.Add("ExpireYear", DateTime.Now.AddYears(2).Year);
            keyValueVariables.Add("ExpireMonth", DateTime.Now.Month);
            keyValueVariables.Add("ExpireDay", DateTime.Now.Day);
            keyValueVariables.Add("NowYear", DateTime.Now.Year);
            EmailHelper.SendEmailByTemplate("*****@*****.**", "SO_ActivateElectronicGiftCard", keyValueVariables, null, "zh-CN");
        }
Example #25
0
        public static MailTemplate BuildMailTemplate(string templateID, KeyValueVariables keyValues, KeyTableVariables keyTables)
        {
            MailTemplate entity = GetMailTemplate(templateID);

            if (entity == null)
            {
                throw new ApplicationException("目标模板[" + templateID + "]未找到!");
            }
            entity.Subject = TemplateString.BuildHtml(entity.Subject, keyValues, keyTables);
            entity.Body    = TemplateString.BuildHtml(entity.Body, keyValues, keyTables);

            return(entity);
        }
Example #26
0
 /// <summary>
 /// 发送内部邮件
 /// </summary>
 /// <param name="mailInfoMessage"></param>
 /// <param name="isAsync"></param>
 public static void SendInternalEmail(string templateID, KeyValueVariables keyValueVariables,
                                      KeyTableVariables keyTableVariables)
 {
     try
     {
         ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(null, null, null, templateID,
                                                                   keyValueVariables, keyTableVariables, false, true);
     }
     catch (Exception ex)
     {
         ExceptionHelper.HandleException(ex);
     }
 }
Example #27
0
        public void BuildData(NameValueCollection requestPostData, out KeyValueVariables variables, out KeyTableVariables tableVariables)
        {
            variables      = new KeyValueVariables();
            tableVariables = new KeyTableVariables();

            int           soSysNo        = 0;
            int           warhouseNumber = 0;
            string        param          = requestPostData["SOSysNo"];
            string        param1         = requestPostData["WareHouseNumber"];
            SOInvoiceInfo soInvoice      = null;
            bool          hasError       = false;

            DataTable table      = CreatePrintData();
            DataTable errorTable = new DataTable();

            try
            {
                if (!int.TryParse(param, out soSysNo))
                {
                    throw new BizException(string.Format(ResouceManager.GetMessageString("Invoice.InvoicePrint", "InvoicePrint_IllegalOrderID"), param));
                }
                if (!int.TryParse(param1, out warhouseNumber))
                {
                    throw new BizException(string.Format(ResouceManager.GetMessageString("Invoice.InvoicePrint", "InvoicePrint_IllegalStockID"), param1));
                }

                soInvoice = ObjectFactory <InvoiceReportProcessor> .Instance.GetNew(new SOInvoiceInfo
                {
                    SOInfo = new SOInfo
                    {
                        SOSysNo    = soSysNo,
                        StockSysNo = warhouseNumber
                    },
                    InvoiceInfoList = new List <InvoiceInfo>()
                });
            }
            catch (BizException ex)
            {
                hasError = true;
                InitErrorTable(ex, errorTable);
            }

            if (!hasError)
            {
                InitData(soInvoice, table);
            }
            tableVariables.Add("Error", errorTable);
            tableVariables.Add("PrintInvoiceDetail", table);
        }
Example #28
0
 public virtual bool SendEmail(string toEmail, string title, string content, string companyCode)
 {
     try
     {
         var param = new KeyValueVariables();
         param.Add("Content", content);
         param.Add("Title", title);
         ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(toEmail, "Manual_Send", param, false);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Example #29
0
        /// <summary>
        ///  提供给创建时候 邮件发送
        /// </summary>
        /// <param name="entity"></param>
        private void SendEmailWhenCreate(VirtualStockPurchaseOrderInfo entity)
        {
            //调用EmailService发送邮件:
            DataTable dt = new DataTable();

            dt = VSPurchaseOrderDA.GetEmailContentForCreateVSPO(entity.SOSysNo.Value, entity.ProductSysNo.Value);
            string toEmailAddress    = dt.Rows[0]["EmailAddress"].ToString();//PM负责人Email
            string backUPMailAddress = string.Empty;

            if (dt.Rows[0]["BackupUserList"] != null)
            {
                string[] arrayUserSysNo = dt.Rows[0]["BackupUserList"].ToString().Split(';');

                for (int n = 0; n < arrayUserSysNo.Length; n++)
                {
                    if (Regex.IsMatch(arrayUserSysNo[n], "^[0-9]+$"))
                    {
                        string email = VSPurchaseOrderDA.GetBackUpPMEmailAddress(Convert.ToInt32(arrayUserSysNo[n]));
                        if (email != null && Regex.IsMatch(email, @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"))
                        {
                            backUPMailAddress += email + ";";
                        }
                    }
                }
            }
            if (backUPMailAddress.Length > 0)
            {
                toEmailAddress = toEmailAddress + ";" + backUPMailAddress;//PM负责人Email Address(加上BackUp)
            }


            KeyValueVariables keyValuesList = new KeyValueVariables();

            //**邮件标题:
            keyValuesList.Add("DateTime", DateTime.Now.ToString());
            keyValuesList.Add("SysNo", dt.Rows[0]["SysNo"]);
            keyValuesList.Add("SOSysNo", dt.Rows[0]["SOSysNo"]);
            keyValuesList.Add("ProductID", dt.Rows[0]["ProductID"]);
            keyValuesList.Add("BriefName", dt.Rows[0]["BriefName"]);
            keyValuesList.Add("PurchaseQty", dt.Rows[0]["PurchaseQty"]);
            keyValuesList.Add("CreateTime", dt.Rows[0]["CreateTime"]);
            keyValuesList.Add("PMUserName", dt.Rows[0]["PMUserName"]);
            keyValuesList.Add("CSUserName", dt.Rows[0]["CSUserName"]);
            keyValuesList.Add("CSMemo", dt.Rows[0]["CSMemo"]);
            keyValuesList.Add("WarehouseName", "");
            //发送异步,内部邮件:
            EmailHelper.SendEmailByTemplate(toEmailAddress, "VSPO_CreateActionMail", keyValuesList, true);
        }
        private void SendEmailValid(string customerID, string customerEmail, string productName)
        {
            if (string.IsNullOrEmpty(customerEmail))
            {
                return;
            }

            KeyValueVariables vars = new KeyValueVariables();

            vars.Add("ProductName", productName);
            vars.Add("CustomerID", customerID);
            vars.Add("Year", DateTime.Now.Year);
            vars.Add("Month", DateTime.Now.Month);
            vars.Add("Day", DateTime.Now.Day);
            EmailHelper.SendEmailByTemplate(customerEmail, "ProductPriceCompare_AuditPass", vars, false);
        }