diff --git a/BWP.B3_YunKen.Web/PluginClass.cs b/BWP.B3_YunKen.Web/PluginClass.cs index 045615e..ef4e7f9 100644 --- a/BWP.B3_YunKen.Web/PluginClass.cs +++ b/BWP.B3_YunKen.Web/PluginClass.cs @@ -12,7 +12,7 @@ namespace BWP.B3_YunKen.Web GlobalFlags.On(B3SaleConsts.Flags.RecordLastSaleOutStoreDate); GlobalFlags.On(B3SaleConsts.Flags.IsYunKen); - + GlobalFlags.On(B3SaleConsts.Flags.DriverNameAllowSame); GlobalFlags.On(B3UnitedInfosConsts.GlobalFlags.库存支持品牌项); } diff --git a/BWP.B3_YunKen/TypeIoc/DriverBeforeSaveTypeIoc.cs b/BWP.B3_YunKen/TypeIoc/DriverBeforeSaveTypeIoc.cs new file mode 100644 index 0000000..9a18038 --- /dev/null +++ b/BWP.B3_YunKen/TypeIoc/DriverBeforeSaveTypeIoc.cs @@ -0,0 +1,34 @@ +using BWP.B3Sale.BL; +using System; +using BWP.B3Sale.BO; +using Forks.EnterpriseServices.BusinessInterfaces; +using BWP.B3Frameworks; +using Forks.EnterpriseServices.DomainObjects2.DQuery; +using Forks.EnterpriseServices.DomainObjects2; + +namespace BWP.B3_YunKen.TypeIocs +{ + [TypeIOC(typeof(DriverBL), typeof(DriverBL.BaseBLIOCs.BeforeSave))] + public class DriverBeforeSaveTypeIoc : DriverBL.BaseBLIOCs.BeforeSave + { + public void Invoke(IDmoContext context, Driver dmo) + { + CheckNotAllowSameName(context, dmo); + } + + private void CheckNotAllowSameName(IDmoContext context, Driver dmo) + { + var query = new DQueryDom(new JoinAlias(typeof(Driver))); + query.Where.Conditions.Add(DQCondition.EQ("IDCard", dmo.IDCard)); + query.Where.Conditions.Add(DQCondition.InEQ("ID", dmo.ID)); + + query.Columns.Add(DQSelectColumn.Field("ID")); + + var id = context.Session.ExecuteScalar(query); + if (id != null) + { + throw new Exception("身份证号:" + dmo.IDCard + " 已经存在单号:" + id + " 上"); + } + } + } +} \ No newline at end of file