Beispiel #1
0
        /// <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();
                }
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
0
 /// <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();
         }
     }
 }
Beispiel #7
0
 /// <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();
         }
     }
 }
Beispiel #8
0
        /// <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);
        }
Beispiel #9
0
        /// <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);
        }
Beispiel #10
0
        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);
        }