/// <summary> /// 重写add方法 /// </summary> public override Entity.CRM_Area Add(Entity.CRM_Area entity) { using (DataContext cxt = ContextFactory.CreateContext()) { Table <FineOffice.Entity.CRM_Area> area = cxt.GetTable <FineOffice.Entity.CRM_Area>(); try { area.InsertOnSubmit(entity); if (entity.ParentID != 0) { Entity.CRM_Area temp = area.Where(d => d.ID == entity.ParentID).FirstOrDefault(); if (temp == null) { throw new Exception("所属地区信息不存在!"); } } cxt.SubmitChanges(); return(entity); } catch (Exception ex) { throw new Exception(ex.Message); } } }
/// <summary> /// 重写update方法 /// </summary> public override Entity.CRM_Area Update(Entity.CRM_Area entity) { using (DataContext cxt = ContextFactory.CreateContext()) { Table <FineOffice.Entity.CRM_Area> area = cxt.GetTable <FineOffice.Entity.CRM_Area>(); try { area.Attach(entity, true); if (entity.ParentID != 0) { Entity.CRM_Area temp = area.Where(d => d.ID == entity.ParentID).FirstOrDefault(); if (temp == null) { throw new Exception("所属地区信息不存在!"); } } List <Entity.CRM_Area> tempList = this.GetSubList(entity); if (tempList.Where(a => a.ID == entity.ParentID).Count() > 0) { throw new Exception("所属地区信息不能是自己或者是其子地区信息!"); } cxt.SubmitChanges(); return(entity); } catch (Exception ex) { throw new Exception(ex.Message); } } }
public void Delete(Modules.CRM_Area model) { FineOffice.Entity.CRM_Area entity = new Entity.CRM_Area { ID = model.ID, }; dal.Delete(entity); }
public FineOffice.Modules.CRM_Area Update(FineOffice.Modules.CRM_Area model) { FineOffice.Entity.CRM_Area entity = new Entity.CRM_Area { ID = model.ID, Area = model.Area, Ordering = model.Ordering, ParentID = model.ParentID, Remark = model.Remark, }; dal.Update(entity); return(this.GetModel(d => d.ID == entity.ID)); }
/// <summary> /// 返回其所有子对象的数组包括其本身 /// </summary> /// <returns></returns> public List <Entity.CRM_Area> GetSubList(Entity.CRM_Area e) { this.areaList.Add(e); using (DataContext cxt = ContextFactory.CreateContext()) { Table <FineOffice.Entity.CRM_Area> area = cxt.GetTable <FineOffice.Entity.CRM_Area>(); var tempList = area.Where(a => a.ParentID == e.ID); foreach (Entity.CRM_Area a in tempList) { this.GetSubList(a); } return(this.areaList); } }
public override void Delete(Entity.CRM_Area entity) { using (DataContext cxt = ContextFactory.CreateContext()) { Table <FineOffice.Entity.CRM_Area> area = cxt.GetTable <FineOffice.Entity.CRM_Area>(); try { area.Attach(entity, true); area.DeleteOnSubmit(entity); if (area.Where(d => d.ParentID == entity.ID).Count() > 0) { throw new Exception("请先删除其子地区信息!"); } cxt.SubmitChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } } }