/// <suPsary> /// 删除,按栏目名称 /// </suPsary> /// <param name="name">栏目名称</param> public void SortDelete(string name) { LinksSort entity = Gateway.Default.From <LinksSort>().Where(LinksSort._.Ls_Name == name).ToFirst <LinksSort>(); if (entity == null) { return; } using (DbTrans tran = Gateway.Default.BeginTrans()) { try { tran.Delete <LinksSort>(LinksSort._.Ls_Id == entity.Ls_Id); tran.Delete <Links>(Links._.Ls_Id == entity.Ls_Id); tran.Commit(); } catch { tran.Rollback(); throw; } finally { tran.Close(); } } }
public void LinksSave(Links entity) { LinksSort ls = Gateway.Default.From <LinksSort>().Where(LinksSort._.Ls_Id == entity.Ls_Id).ToFirst <LinksSort>(); if (ls != null) { entity.Ls_Name = ls.Ls_Name; } Gateway.Default.Save <Links>(entity); }
public void LinksVerify(Links entity) { Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent(); entity.Lk_IsVerify = true; entity.Lk_Tax = LinksMaxTaxis((int)entity.Ls_Id, org.Org_ID) + 1; LinksSort ls = Gateway.Default.From <LinksSort>().Where(LinksSort._.Ls_Id == entity.Ls_Id).ToFirst <LinksSort>(); if (ls != null) { entity.Ls_Name = ls.Ls_Name; } Gateway.Default.Save <Links>(entity); }
/// <suPsary> /// 当前对象名称是否重名 /// </suPsary> /// <param name="entity">业务实体</param> /// <returns>重名返回true,否则返回false</returns> public bool SortIsExist(int orgid, LinksSort entity) { LinksSort Ps = null; //如果是一个新对象 if (entity.Ls_Id == 0) { Ps = Gateway.Default.From <LinksSort>().Where(LinksSort._.Ls_Name == entity.Ls_Name && LinksSort._.Org_ID == orgid).ToFirst <LinksSort>(); } else { //如果是一个已经存在的对象,则不匹配自己 Ps = Gateway.Default.From <LinksSort>().Where(LinksSort._.Org_ID == orgid && LinksSort._.Ls_Name == entity.Ls_Name && LinksSort._.Ls_Id != entity.Ls_Id).ToFirst <LinksSort>(); } return(Ps != null); }
/// <suPsary> /// 添加 /// </suPsary> /// <param name="entity">业务实体</param> public int SortAdd(LinksSort entity) { if (entity.Ls_PatId < 0) { //如果父节点小于0,违反逻辑 return(-1); } if (!(entity.Ls_Name != null && entity.Ls_Name.Trim() != "")) { //如果名称为空 return(-1); } if (entity.Ls_PatId > 0) { LinksSort parent = Gateway.Default.From <LinksSort>().Where(LinksSort._.Ls_PatId == entity.Ls_Id).ToFirst <LinksSort>(); if (parent == null) { //如果父节点不存在 return(-1); } //新增对象的属性,遵循上级; entity.Ls_IsUse = parent.Ls_IsUse; } //添加对象,并设置排序号 object obj = Gateway.Default.Max <LinksSort>(LinksSort._.Ls_Tax, LinksSort._.Ls_PatId == entity.Ls_PatId); int tax = 0; if (obj is int) { tax = (int)obj; } entity.Ls_Tax = tax + 1; Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent(); if (org != null) { entity.Org_ID = org.Org_ID; entity.Org_Name = org.Org_Name; } int id = Gateway.Default.Save <LinksSort>(entity); return(id); }
/// <suPsary> /// 删除 /// </suPsary> /// <param name="entity">业务实体</param> public void SortDelete(LinksSort entity) { using (DbTrans tran = Gateway.Default.BeginTrans()) { try { tran.Delete <LinksSort>(LinksSort._.Ls_Id == entity.Ls_Id); tran.Delete <Links>(Links._.Ls_Id == entity.Ls_Id); tran.Commit(); } catch { tran.Rollback(); throw; } finally { tran.Close(); } } }
/// <suPsary> /// 修改 /// </suPsary> /// <param name="entity">业务实体</param> public void SortSave(LinksSort entity) { using (DbTrans tran = Gateway.Default.BeginTrans()) { try { tran.Save <LinksSort>(entity); tran.Update <Links>(new Field[] { Links._.Ls_Name }, new object[] { entity.Ls_Name }, Links._.Ls_Id == entity.Ls_Id); tran.Commit(); } catch { tran.Rollback(); throw; } finally { tran.Close(); } } }
/// <suPsary> /// 将当前栏目向下移动;仅在当前对象的同层移动,即同一父节点下的对象之间移动; /// </suPsary> /// <param name="id"></param> /// <returns>如果已经处于最底端,则返回false;移动成功,返回true</returns> public bool SortRemoveDown(int id) { //当前对象 LinksSort current = Gateway.Default.From <LinksSort>().Where(LinksSort._.Ls_Id == id).ToFirst <LinksSort>(); //当前对象排序号 int orderValue = (int)current.Ls_Tax; //下一个对象,即弟弟对象; LinksSort down = Gateway.Default.From <LinksSort>().Where(LinksSort._.Org_ID == current.Org_ID && LinksSort._.Ls_Tax > orderValue).OrderBy(LinksSort._.Ls_Tax.Asc).ToFirst <LinksSort>(); if (down == null) { //如果弟对象不存在,则表示当前节点在兄弟中是老幺;即是最底端; return(false); } //交换排序号 current.Ls_Tax = down.Ls_Tax; down.Ls_Tax = orderValue; using (DbTrans tran = Gateway.Default.BeginTrans()) { try { tran.Save <LinksSort>(current); tran.Save <LinksSort>(down); tran.Commit(); } catch { tran.Rollback(); throw; } finally { tran.Close(); } } return(true); }
/// <suPsary> /// 将当前栏目向上移动;仅在当前对象的同层移动,即同一父节点下的对象之间移动; /// </suPsary> /// <param name="id"></param> /// <returns>如果已经处于顶端,则返回false;移动成功,返回true</returns> public bool SortRemoveUp(int id) { //当前对象 LinksSort current = Gateway.Default.From <LinksSort>().Where(LinksSort._.Ls_Id == id).ToFirst <LinksSort>(); //当前对象排序号 int orderValue = (int)current.Ls_Tax; //上一个对象,即兄长对象; LinksSort up = Gateway.Default.From <LinksSort>().Where(LinksSort._.Org_ID == current.Org_ID && LinksSort._.Ls_Tax < orderValue).OrderBy(LinksSort._.Ls_Tax.Desc).ToFirst <LinksSort>(); if (up == null) { //如果兄长对象不存在,则表示当前节点在兄弟中是老大;即是最顶点; return(false); } //交换排序号 current.Ls_Tax = up.Ls_Tax; up.Ls_Tax = orderValue; using (DbTrans tran = Gateway.Default.BeginTrans()) { try { tran.Save <LinksSort>(current); tran.Save <LinksSort>(up); tran.Commit(); } catch { tran.Rollback(); throw; } finally { tran.Close(); } } return(true); }
public void LinksAdd(Links entity) { Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent(); //添加对象,并设置排序号 object obj = Gateway.Default.Max <Links>(Links._.Lk_Tax, Links._.Ls_Id == entity.Ls_Id && Links._.Org_ID == org.Org_ID); int tax = obj is int?(int)obj : 0; entity.Lk_Tax = tax + 1; LinksSort ls = Gateway.Default.From <LinksSort>().Where(LinksSort._.Ls_Id == entity.Ls_Id).ToFirst <LinksSort>(); if (ls != null) { entity.Ls_Name = ls.Ls_Name; } entity.Lk_IsApply = false; entity.Lk_IsVerify = true; //Song.Entities.Organization org = Business.Do<IOrganization>().OrganCurrent(); if (org != null) { entity.Org_ID = org.Org_ID; entity.Org_Name = org.Org_Name; } Gateway.Default.Save <Links>(entity); }