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.
 

86 lines
3.2 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;
externalMessage.Content = message.Title;
externalMessageBL.Insert(externalMessage);
}
public IList<string> Features
{
get { return new List<string>(); }
}
public string Name
{
get { return "B3_YunKen.【客户验收】审核时发送微信消息给{客户}、{销售人员}、{经销商}"; }
}
}
}