You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

97 lines
3.9 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BWP.B3Frameworks.BO;
using BWP.B3Frameworks.BO.NamedValueTemplate;
using BWP.B3Frameworks.Utils;
using BWP.B3Sale.BL;
using BWP.B3Sale.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.SqlDoms;
using TSingSoft.WebPluginFramework.BIPlugins.BLEvents;
using Forks.EnterpriseServices.BusinessInterfaces;
using BWP.B3Frameworks.BL;
namespace BWP.B3_YunKen.BLActions
{
public class CusrAcceptDoCheckSendWeixinMessage : IBLMethodAction
{
public string Description
{
get { return "【客户验收】审核时发送微信消息给{客户}、{销售人员}、{经销商}"; }
}
public void Execute(IDmoContext context, object customer, object parameter)
{
var dmo = customer as CustomerAccept;
if (dmo == null)
return;
if (parameter == null)
throw new ApplicationException("请配置接收消息的角色");
string empUserName;
string cusUserName;
var roles = parameter.ToString().Split(',');
if (roles.Contains("销售人员")) {
if (dmo.Employee_ID != null) {
empUserName = InnerBLUtil.GetDmoProperty<Employee, string>(context.Session, "User_Name", new Tuple<string, object>("ID", dmo.Employee_ID));
InsertExternalMessage(dmo, empUserName, context);
}
}
if (roles.Contains("客户")) {
if (dmo.Customer_ID != null) {
cusUserName = InnerBLUtil.GetDmoProperty<Customer, string>(context.Session, "User_Name", new Tuple<string, object>("ID", dmo.Customer_ID));
InsertExternalMessage(dmo, cusUserName, context);
}
}
if (roles.Contains("经销商")) {
if (dmo.CustomerDealer_ID != null) {
cusUserName = InnerBLUtil.GetDmoProperty<Customer, string>(context.Session, "User_Name", new Tuple<string, object>("ID", dmo.CustomerDealer_ID));
InsertExternalMessage(dmo, cusUserName, context);
}
}
}
private void InsertExternalMessage(CustomerAccept accept, string userName, IDmoContext context)
{
if (string.IsNullOrEmpty(userName))
return;
var message = new WeixinMessage();
message.Title = "客户验收单No."+accept.ID;
message.TargetID = accept.ID;
message.Type = "耘垦客户验收";
var url = WeixinMessageUtil.NewWeixinMessageUrl(context.Session, message);
var externalMessageBL = BIFactory.Create<IExternalMessageBL>(context);
var externalMessage = new ExternalMessage();
externalMessage.Type = ExternalMessageType.;
externalMessage.Receiver = userName;
externalMessage.Url = url;
externalMessage.Subject = message.Title;
//string customerDealer_Name = string.Empty;
//if(accept.BillID!=null){
// var outbl = BIFactory.Create<ISaleOutStoreBL>(context);
// if (accept.BillID != null) {
// var saleOutStore = outbl.Load(accept.BillID.Value);
// customerDealer_Name = saleOutStore.CustomerDealer_Name;
// }else{
// customerDealer_Name = accept.CustomerDealer_Name;
// }
//}
var str = "发货工厂:" + accept.AccountingUnit_Name + " 发货时间:" + accept.CheckTime != null ? accept.CheckTime.Value.ToString() : string.Empty + " 客户名称:"+accept.CustomerDealer_Name+" 分销商:"+accept.Customer_Name+" 客户验收单号:"+accept.Code;
externalMessage.Content = str;
externalMessageBL.Insert(externalMessage);
}
public IList<string> Features
{
get { return new List<string>(); }
}
public string Name
{
get { return "B3_YunKen.【客户验收】审核时发送微信消息给{客户}、{销售人员}、{经销商}"; }
}
}
}