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.
 

51 lines
1.8 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BWP.B3Sale.BL;
using BWP.B3Sale.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using TSingSoft.WebPluginFramework.BIPlugins.BLEvents;
namespace BWP.B3_YunKen.BLActions
{
public class CustomerDealerBLAction : IBLMethodAction
{
public string Description
{
get { return "若所选择【经销商】档案明细没有此客户,则在【经销商】中下插入一条明细"; }
}
public void Execute(Forks.EnterpriseServices.BusinessInterfaces.IDmoContext context, object dmo, object parameter)
{
var customer = dmo as Customer;
if (customer!=null && !customer.IsDealers && customer.Dealer_ID != null) {
var query = new DQueryDom(new JoinAlias(typeof(Dealer_Detail)));
query.Columns.Add(DQSelectColumn.Field("ID"));
query.Where.Conditions.Add(DQCondition.EQ("Dealer_ID", customer.Dealer_ID));
query.Where.Conditions.Add(DQCondition.EQ("Customer_ID", customer.ID));
var id = (long?)context.Session.ExecuteScalar(query);
if (id == null) {
var bl = BIFactory.Create<IDealerBL>(context.Session);
var dealer = bl.Load(customer.Dealer_ID.Value);
var detail = new Dealer_Detail();
detail.Customer_ID = customer.ID;
dealer.Details.Add(detail);
bl.Update(dealer);
}
}
}
public IList<string> Features
{
get { return new List<string>(); }
}
public string Name
{
get { return "B3_YunKen.若所选择【经销商】档案明细没有此客户,则在【经销商】中下插入一条明细"; }
}
}
}