/// <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); }
/// <summary> /// 回复邮件操作,并发送邮件 /// </summary> /// <param name="item"></param> public virtual void UpdateProductConsultMailLog(ProductReview item) { if (productReviewMailLogDA.CheckProductCommentMailLog(item.ProductReviewMailLog)) { productReviewMailLogDA.UpdateProductCommentMailLog(item.ProductReviewMailLog); } else { productReviewMailLogDA.CreateProductCommentMailLog(item.ProductReviewMailLog); } #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(@"Content", item.ProductReviewMailLog.Content); 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("邮件地址为空!"); } else { ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(customer.BasicInfo.Email, "MKT_ProductConsultMailContent", replaceVariables, false); } #endregion }
/// <summary> /// 给客户发送邮件,然后更新客户留言 /// </summary> /// <param name="msg"></param> /// <returns></returns> public virtual void SendCustomerEmailForLeaveWord(LeaveWordsItem item) { leaveWordsDA.SendMailThenUpdateLeaveWord(item); KeyValueVariables replaceVariables = new KeyValueVariables(); replaceVariables.AddKeyValue(@"CustomerID", item.CustomerName); replaceVariables.AddKeyValue(@"Content", item.ReplyContent); 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()); if (string.IsNullOrEmpty(item.CustomerEmail)) { // throw new BizException("邮件地址为空!"); throw new BizException(ResouceManager.GetMessageString("MKT.Keywords", "Keywords_EmailIsNotNull")); } else { ECCentral.Service.Utility.EmailHelper.SendEmailByTemplate(item.CustomerEmail, "MKT_ReplyCustomerLeaveWords", replaceVariables, false); } }
public override void OnSuccess(MethodExecutionEventArgs args) { int requestsysno = 0; string ptptdUser = ConfigurationManager.AppSettings["PTPTDUser"]; string subject = string.Empty; ProductPriceRequestInfo entity = new ProductPriceRequestInfo(); if (EmailType == SendEmailType.ApprovePriceRequest) { object[] objs = args.GetReadOnlyArgumentArray(); entity = objs[0] as ProductPriceRequestInfo; requestsysno = entity.SysNo.Value; if (entity.RequestStatus == ProductPriceRequestStatus.Deny)//拒绝时的邮件发送 { subject = ResouceManager.GetMessageString("IM.Product", "AuditRejected"); } else { subject = ResouceManager.GetMessageString("IM.Product", "AuditPassed"); } } else if (EmailType == SendEmailType.CancelPriceRequest)//撤销时的邮件发送 { object[] objs = args.GetReadOnlyArgumentArray(); entity = objs[0] as ProductPriceRequestInfo; requestsysno = entity.SysNo.Value; subject = ResouceManager.GetMessageString("IM.Product", "CancelAudit"); } else if (EmailType == SendEmailType.CreatePriceRequest) { object[] objs = args.GetReadOnlyArgumentArray(); entity = objs[1] as ProductPriceRequestInfo; requestsysno = entity.SysNo.Value; subject = ResouceManager.GetMessageString("IM.Product", "RequestAudit"); } ProductPriceRequestInfo requestentity = ObjectFactory <ProductPriceRequestProcessor> .Instance.GetProductPriceRequestInfoBySysNo(requestsysno); string toAddress = string.Format("{0};{1}", entity.PMUserEmailAddress, entity.CurrentUserEmailAddress); if (!string.IsNullOrEmpty(entity.BackupPMUserEmailAddress)) { toAddress = string.Format("{0};{1}", toAddress, entity.BackupPMUserEmailAddress); } if (!string.IsNullOrEmpty(ptptdUser)) { toAddress = string.Format("{0};{1}", toAddress, ptptdUser); } string ccmail = GetCCEmail(requestentity); string updatetime = string.Empty; if (requestentity.LastUpdateTime.HasValue) { updatetime = requestentity.LastUpdateTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } //参数设置 KeyValueVariables keyValueVariables = new KeyValueVariables(); keyValueVariables.AddKeyValue("Subject", subject); keyValueVariables.Add("ProductSysNo", Product.SysNo); keyValueVariables.Add("ProductName", Product.ProductName); keyValueVariables.Add("UpdateTime", updatetime); keyValueVariables.Add("SysNo", requestentity.SysNo); keyValueVariables.Add("ProductID", Product.ProductID); keyValueVariables.Add("BasicPrice", requestentity.OldPrice.BasicPrice); keyValueVariables.Add("BasicPriceNew", requestentity.BasicPrice); keyValueVariables.Add("UnitCost", requestentity.UnitCost); keyValueVariables.Add("CurrentPrice", requestentity.OldPrice.CurrentPrice); keyValueVariables.Add("CurrentPriceNew", requestentity.CurrentPrice); keyValueVariables.Add("Discount", requestentity.DiscountAmount); keyValueVariables.Add("CashRebate", requestentity.OldPrice.CashRebate); keyValueVariables.Add("CashRebateNew", requestentity.CashRebate); keyValueVariables.Add("Point", requestentity.OldPrice.Point); keyValueVariables.Add("PointNew", requestentity.Point); keyValueVariables.Add("ProductPayType", requestentity.OldPrice.PayType.ToString()); keyValueVariables.Add("MaxPerOrder", requestentity.MinCountPerOrder); keyValueVariables.Add("MinMargin", requestentity.OldPrice.Margin); keyValueVariables.Add("MinMarginCurrent", requestentity.Margin); keyValueVariables.Add("Apply", requestentity.CreateUser.UserName); keyValueVariables.Add("PMMemo", requestentity.PMMemo); keyValueVariables.Add("TLMemo", requestentity.TLMemo); EmailHelper.SendEmailByTemplate(toAddress, ccmail, "", "IM_Product_ChangePrice", keyValueVariables, null, true, true); base.OnSuccess(args); }
public void BuildData(System.Collections.Specialized.NameValueCollection requestPostData, out KeyValueVariables variables, out KeyTableVariables tableVariables) { variables = new KeyValueVariables(); tableVariables = new KeyTableVariables(); CostChangeAppService CostChangeAppServiceInstance = ObjectFactory <CostChangeAppService> .Instance; //获取参数 string costChangeSysNoStr = requestPostData["CostChangeSysNo"]; int costChangeSysNo = int.Parse(costChangeSysNoStr); CostChangeInfo costChangeInfo = CostChangeAppServiceInstance.LoadCostChangeInfo(costChangeSysNo); //变价单编号 variables.AddKeyValue("CostChangeinfoSysNo", costChangeInfo.SysNo.Value.ToString()); //合同号 variables.AddKeyValue("ContractNo", ""); //供应商 VendorAppService VendorAppServiceInstance = ObjectFactory <VendorAppService> .Instance; var vendorNo = costChangeInfo.CostChangeBasicInfo.VendorSysNo; VendorInfo vendorInfo = VendorAppServiceInstance.LoadVendorInfoBySysNo(vendorNo); var vendorName = vendorInfo.VendorBasicInfo.VendorNameLocal; variables.AddKeyValue("VendorName", vendorName); //部门 variables.AddKeyValue("DepartmentName", "商品部"); //制表时间 var curentDataStr = DateTime.Now.Date.ToString("yyyy-MM-dd"); variables.AddKeyValue("CurentDate", curentDataStr); DataTable dt = new DataTable(); //商品ID dt.Columns.Add("ProductID"); //商品名称 dt.Columns.Add("ProductName"); //税率 dt.Columns.Add("TaxRange"); //变价数量 dt.Columns.Add("ChangeCount"); //原进价 dt.Columns.Add("OldPrice"); //新进价 dt.Columns.Add("NewPrice"); //变价金额 dt.Columns.Add("ChaneAmount"); //变价税金 dt.Columns.Add("ChaneTax"); //采购单编号 dt.Columns.Add("OrderNo"); //备注 dt.Columns.Add("Memo"); tableVariables.Add("tableCostChangeDetial", dt); Func <PurchaseOrderTaxRate, decimal, decimal> Shuijin = (a, b) => { return(((decimal)(((int)a) / 100.00)) * b / ((decimal)(((int)a) / 100.00) + 1)); }; Func <PurchaseOrderTaxRate, decimal, decimal> Jiakuan = (a, b) => { return(b / ((decimal)(((int)a) / 100.00) + 1)); }; //采购单实体 PurchaseOrderAppService purchaseOrderAppServiceInstance = ObjectFactory <PurchaseOrderAppService> .Instance; var totalAmount = 0m; foreach (var sub in costChangeInfo.CostChangeItems) { DataRow row = null; row = dt.NewRow(); var taxAndAmount = (sub.NewPrice - sub.OldPrice) * sub.ChangeCount; var po = purchaseOrderAppServiceInstance.LoadPurchaseOrderInfo(sub.POSysNo); var taxRateType = po.PurchaseOrderBasicInfo.TaxRateType.Value;//增值税类型 //商品ID row["ProductID"] = sub.ProductID; //商品名称 row["ProductName"] = sub.ProductName; //税率 row["TaxRange"] = ((int)taxRateType).ToString();//通过采购单 来获取 税率 //变价数量 row["ChangeCount"] = sub.ChangeCount; //原进价 row["OldPrice"] = sub.OldPrice.ToString("C"); //新进价 row["NewPrice"] = sub.NewPrice.ToString("C"); //不含税金额(价款) row["ChaneAmount"] = Jiakuan(taxRateType, taxAndAmount).ToString("C"); //变价税金 row["ChaneTax"] = Shuijin(taxRateType, taxAndAmount).ToString("C"); //采购单编号 row["OrderNo"] = sub.POSysNo; //备注 row["Memo"] = ""; dt.Rows.Add(row); totalAmount += taxAndAmount; } //制单人 variables.AddKeyValue("CreateUser", costChangeInfo.CostChangeBasicInfo.InUserStr); //审核人 variables.AddKeyValue("AuditUser", costChangeInfo.CostChangeBasicInfo.AuditUserStr); //合计 variables.AddKeyValue("TotalAmount", totalAmount.ToString("C")); }
/// <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 }