Browse Source

需求单No.138104

master
wugang 8 years ago
parent
commit
f1354249a7
2 changed files with 92 additions and 0 deletions
  1. +91
    -0
      BWP.B3_YunKen/BLActions/CustomerCreditPolicyBLAction.cs
  2. +1
    -0
      BWP.B3_YunKen/BWP.B3_YunKen.csproj

+ 91
- 0
BWP.B3_YunKen/BLActions/CustomerCreditPolicyBLAction.cs View File

@ -0,0 +1,91 @@
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 Forks.EnterpriseServices.SqlDoms;
using TSingSoft.WebPluginFramework.BIPlugins.BLEvents;
namespace BWP.B3_YunKen.BLActions
{
public class CustomerCreditPolicyBLAction : 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.CreditPolicy_ID != null) {
Tuple<long?, long> tuple = null;
var detail = new JoinAlias(typeof(SaleCreditPolicy_Detail));
var saleCreditPolicy = new JoinAlias(typeof(SaleCreditPolicy));
var query = new DQueryDom(detail);
query.From.AddJoin(JoinType.Left, new DQDmoSource(saleCreditPolicy), DQCondition.EQ(detail, "SaleCreditPolicy_ID", saleCreditPolicy, "ID"));
query.Columns.Add(DQSelectColumn.Field("CreditPolicy_ID", saleCreditPolicy));
query.Columns.Add(DQSelectColumn.Field("ID", saleCreditPolicy));
query.Where.Conditions.Add(DQCondition.EQ("Customer_ID", customer.ID));
using (var reader = context.Session.ExecuteReader(query)) {
while (reader.Read()) {
tuple = new Tuple<long?, long>((long?)reader[0], (long)reader[1]);
}
}
if (customer.CreditPolicy_ID == tuple.Item1)
return;
if (tuple != null && tuple.Item1 != null) {
var del = new DQDeleteDom(typeof(SaleCreditPolicy_Detail));
del.Where.Conditions.Add(DQCondition.EQ("Customer_ID", customer.ID));
context.Session.ExecuteNonQuery(del);
var update = new DQUpdateDom(typeof(SaleCreditPolicy));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Where.Conditions.Add(DQCondition.EQ("ID", tuple.Item2));
context.Session.ExecuteNonQuery(update);
}
var scp = new JoinAlias(typeof(SaleCreditPolicy));
var scp_detail = new JoinAlias(typeof(SaleCreditPolicy_Detail));
var main = new DQueryDom(saleCreditPolicy);
main.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(detail, "SaleCreditPolicy_ID", saleCreditPolicy, "ID"));
main.Columns.Add(DQSelectColumn.Field("Customer_ID", detail));
main.Columns.Add(DQSelectColumn.Field("ID", saleCreditPolicy));
main.Where.Conditions.Add(DQCondition.EQ("CreditPolicy_ID", customer.CreditPolicy_ID));
List<Tuple<long?, long?>> list = new List<Tuple<long?, long?>>();
using (var reader = context.Session.ExecuteReader(query)) {
while (reader.Read()) {
list.Add(new Tuple<long?, long?>((long?)reader[0], (long?)reader[1]));
}
}
if (list.Count() > 0 && !list.Any(x => x.Item1 == customer.ID)) {
var first = list.First();
var customerDetail = new SaleCreditPolicy_Detail();
customerDetail.Customer_ID = customer.ID;
customerDetail.SaleCreditPolicy_ID = first.Item2;
context.Session.Insert(customerDetail);
var update = new DQUpdateDom(typeof(SaleCreditPolicy));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Where.Conditions.Add(DQCondition.EQ("ID", first.Item2));
context.Session.ExecuteNonQuery(update);
}
}
}
public IList<string> Features
{
get { return new List<string>(); }
}
public string Name
{
get { return "B3_YunKen.【信用政策单】客户明细增加客户"; }
}
}
}

+ 1
- 0
BWP.B3_YunKen/BWP.B3_YunKen.csproj View File

@ -63,6 +63,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="B3YunKenOnlineConfiguration.cs" />
<Compile Include="BLActions\CustomerCreditPolicyBLAction.cs" />
<Compile Include="BLActions\CustomerWithDealerBLAction.cs" />
<Compile Include="BLActions\OrderBLIsSetWrappageActions.cs" />
<Compile Include="BLActions\SaleForecastBLIsSetWrappageActions.cs" />


Loading…
Cancel
Save