基于泛形、SOA设计思想的.net 框架 Bo层Service (三) 在生成的代码里面加入了对主从结构的处理 namespace Unie2e.Yuking.Service { using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using Unie2e.Common; using Unie2e.ORM; using Unie2e.ORM.Mapping; using Unie2e.Service; using Unie2e.Yuking.Enities; using Unie2e.Yuking.Data; [Unie2e.Common.Model.E2EBOAttribute("DO")] public partial class DOService<T> : POSService<T,DOEntity> where T:E2EData<DOEntity> ,new () { protected override T DataConvert(DOEntity input) { T t = new T(); t.Meta = input; return t; } 自动生成的Actionr操作#region 自动生成的Actionr操作 /**//// <summary> /// 通过关键字删除 /// </summary> [Unie2e.Common.Model.E2EOperationAttribute("通过关键字删除")] public virtual int DeleteByID(Guid doid) { DOActionParam doactionparam = new DOActionParam(); doactionparam.Method = "DeleteByID"; if ((doid == System.Guid.Empty)) { return 0; } doactionparam.DOId = doid; return base.Action(doactionparam); } #endregion 自动生成的查询方法#region 自动生成的查询方法 /**//// <summary> /// 根据状态查找 /// </summary> [Unie2e.Common.Model.E2EOperationAttribute("根据状态查找")] public virtual Unie2e.Common.ORMCollection<T> FindByStatus(Int32 dostatus) { DOFindParam dofindparam = new DOFindParam(); dofindparam.Method = "ByStatus"; if ((dostatus == 0)) { return new ORMCollection<T>(); } dofindparam.DOStatus = dostatus; return base.Find(dofindparam, Converter); } /**//// <summary> /// 通过CustomerId,状态查找 /// </summary> [Unie2e.Common.Model.E2EOperationAttribute("通过CustomerId,状态查找")] public virtual Unie2e.Common.ORMCollection<T> FindByCustomerIdStatus(Guid customerid, Int32 dostatus) { DOFindParam dofindparam = new DOFindParam(); dofindparam.Method = "ByCustomerIdStatus"; dofindparam.CustomerId = customerid; dofindparam.DOStatus = dostatus; return base.Find(dofindparam, Converter); } /**//// <summary> /// 通过关键字查找 /// </summary> [Unie2e.Common.Model.E2EOperationAttribute("通过关键字查找")] public virtual T FindByID(Guid doid) { if ((doid == System.Guid.Empty)) { return default(T); } DOFindParam dofindparam = new DOFindParam(); dofindparam.Method = "ByID"; dofindparam.DOId = doid; ORMCollection<T> collection = base.Find(dofindparam, Converter); T returnT = default(T); if (collection != null && collection.Count > 0) { return collection[0]; } else { return returnT; } } /**//// <summary> /// 通过CustomerId查找 /// </summary> [Unie2e.Common.Model.E2EOperationAttribute("通过CustomerId查找")] public virtual Unie2e.Common.ORMCollection<T> FindByCustomerId(Guid customerid) { DOFindParam dofindparam = new DOFindParam(); dofindparam.Method = "ByCustomerId"; if ((customerid == System.Guid.Empty)) { return new ORMCollection<T>(); } dofindparam.CustomerId = customerid; return base.Find(dofindparam, Converter); } /**//// <summary> /// 查找所有数据 /// </summary> [Unie2e.Common.Model.E2EOperationAttribute("查找所有数据")] public virtual Unie2e.Common.ORMCollection<T> FindByAll() { DOFindParam dofindparam = new DOFindParam(); dofindparam.Method = "ByAll"; return base.Find(dofindparam, Converter); } #endregion } [Unie2e.Common.Model.E2EBOAttribute("DO")] public partial class DOService : DOService<DO> { DOItemService itemService; DOItemService getItemService() { if (itemService == null) itemService = new DOItemService(); return itemService; } protected override void OnAfterAdded(DO d) { ORMCollection<DOItem> collection = d.DOItemCollection; if (collection != null) { d.DOItemCollection = getItemService().AddedBatch(collection); } base.OnAfterAdded(d); } protected override void OnBeforeUpdated(DO d) { ORMCollection<DOItem> collection = d.DOItemCollection; if (collection != null) { d.DOItemCollection = getItemService().SavedBatch(collection.GetOpChanges(DataState.Deleted)); getItemService().DeletedBatch(collection.GetChanges(DataState.Deleted)); } base.OnBeforeUpdated(d); } protected override void OnBeforeDeleted(DO d) { ORMCollection<DOItem> collection = d.DOItemCollection; if (collection != null) { d.DOItemCollection = getItemService().DeletedBatch(collection); } base.OnBeforeDeleted(d); } }} 完整的基于泛形、SOA设计思想的.net 框架 DTO层(四) namespace Unie2e.Yuking.SDO { using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using Unie2e.Common; using Unie2e.Common.Model; using Unie2e.Yuking.Common; [System.SerializableAttribute()] public partial class DOSDO<T> : E2ESDO<T> where T : DOSDO<T>, new() { 映射字段#region 映射字段 protected Guid dOId = System.Guid.NewGuid(); protected Guid customerId = System.Guid.Empty; protected String dONumber = ""; protected ActiveStatus dOStatus; protected String dOComment = ""; #endregion 自动生成公开属性#region 自动生成公开属性 /**//// <summary> /// 送货单Id /// </summary> [Unie2e.Common.Model.E2EKeyAttribute()] [Unie2e.Common.Model.E2EPropertyAttribute(true, false, 0, 0, 0, "", "送货单Id")] public Guid DOId { get { return dOId; } set { if ((this.dOId != value)) { this.dOId = value; this.OnPropertyChanged("DOId"); } } } /**//// <summary> /// 客户Id /// </summary> [Unie2e.Common.Model.E2EPropertyAttribute(false, false, 0, 0, 0, "", "客户Id")] public Guid CustomerId { get { return customerId; } set { if ((this.customerId != value)) { this.customerId = value; this.OnPropertyChanged("CustomerId"); } } } /**//// <summary> /// 送货单号 /// </summary> [Unie2e.Common.Model.E2EPropertyAttribute(false, false, 128, 0, 0, "", "送货单号")] public String DONumber { get { return dONumber; } set { if ((this.dONumber != value)) { this.dONumber = value; this.OnPropertyChanged("DONumber"); } } } /**//// <summary> /// 送货单状态 /// </summary> [Unie2e.Common.Model.E2EPropertyAttribute(false, false, 0, 10, 0, "", "送货单状态")] public ActiveStatus DOStatus { get { return dOStatus; } set { if ((this.dOStatus != value)) { this.dOStatus = value; this.OnPropertyChanged("DOStatus"); } } } /**//// <summary> /// 备注 /// </summary> [Unie2e.Common.Model.E2EPropertyAttribute(false, true, 512, 0, 0, "", "备注")] public String DOComment { get { return dOComment; } set { if ((this.dOComment != value)) { this.dOComment = value; this.OnPropertyChanged("DOComment"); } } } #endregion public new static T CreateNew() { T t = E2ESDO<T>.CreateNew(); t.BeginInit(); t.DOId = System.Guid.NewGuid(); t.EndInit(); return t; } } [System.SerializableAttribute()] [Unie2e.Common.Model.E2ESDOAttribute("DO", "DOServiceSO")] public partial class DOSDO : DOSDO<DOSDO> { public DataCollection<DOItemSDO> DOItemCollection { get { return GetCollection<DOItemSDO>(); } set { SetCollection<DOItemSDO>(value); } } }}