Exemple #1
0
 /// <summary>
 /// 修改
 /// </summary>
 /// <param name="entity">业务实体</param>
 public void ColumnsSave(GuideColumns entity)
 {
     Song.Entities.GuideColumns old = this.ColumnsSingle(entity.Gc_ID);
     if (old.Gc_PID != entity.Gc_PID)
     {
         object obj = Gateway.Default.Max <GuideColumns>(GuideColumns._.Gc_Tax, GuideColumns._.Cou_ID == entity.Cou_ID && GuideColumns._.Gc_PID == entity.Gc_PID);
         entity.Gc_Tax = obj is int?(int)obj + 1 : 0;
     }
     using (DbTrans trans = Gateway.Default.BeginTrans())
     {
         try
         {
             trans.Save <GuideColumns>(entity);
             trans.Update <GuideColumns>(new Field[] { Guide._.Gc_Title }, new object[] { entity.Gc_Title, }, GuideColumns._.Gc_ID == entity.Gc_ID);
             trans.Commit();
         }
         catch (Exception ex)
         {
             trans.Rollback();
             throw ex;
         }
         finally
         {
             trans.Close();
         }
     }
 }
Exemple #2
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="entity">业务实体</param>
 public void ColumnsDelete(GuideColumns entity)
 {
     Song.Entities.GuideColumns[] cols = GetColumnsChild(entity.Cou_ID, entity.Gc_ID, null);
     foreach (Song.Entities.GuideColumns cl in cols)
     {
         ColumnsDelete(cl);
     }
     Gateway.Default.Delete <Guide>(Guide._.Gc_ID == entity.Gc_ID);
     Gateway.Default.Delete <GuideColumns>(GuideColumns._.Gc_ID == entity.Gc_ID);
 }
Exemple #3
0
        /// <summary>
        /// 当前对象名称是否重名
        /// </summary>
        /// <param name="entity">业务实体</param>
        /// <returns></returns>
        public bool ColumnsIsExist(int couid, int pid, GuideColumns entity)
        {
            WhereClip wc = GuideColumns._.Gc_Title == entity.Gc_Title && GuideColumns._.Cou_ID == couid && GuideColumns._.Gc_PID == pid;

            //如果是一个已经存在的对象
            if (entity.Gc_ID == 0)
            {
                wc = wc.And(GuideColumns._.Gc_ID == entity.Gc_ID);
            }
            GuideColumns mm = Gateway.Default.From <GuideColumns>().Where(wc).ToFirst <GuideColumns>();

            return(mm != null);
        }
Exemple #4
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="entity">业务实体</param>
 public int ColumnsAdd(GuideColumns entity)
 {
     entity.Gc_CrtTime = DateTime.Now;
     //如果没有排序号,则自动计算
     if (entity.Gc_Tax < 1)
     {
         object obj = Gateway.Default.Max <GuideColumns>(GuideColumns._.Gc_Tax, GuideColumns._.Cou_ID == entity.Cou_ID && GuideColumns._.Gc_PID == entity.Gc_PID);
         entity.Gc_Tax = obj is int?(int)obj + 1 : 0;
     }
     Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
     if (org != null)
     {
         entity.Org_ID   = org.Org_ID;
         entity.Org_Name = org.Org_Name;
     }
     return(Gateway.Default.Save <GuideColumns>(entity));
 }
Exemple #5
0
        /// <summary>
        /// 将当前项目向下移动;仅在当前对象的同层移动,即同一父节点下的对象这前移动;
        /// </summary>
        /// <param name="id"></param>
        /// <returns>如果已经处于顶端,则返回false;移动成功,返回true</returns>
        public bool ColumnsRemoveDown(int id)
        {
            //当前对象
            GuideColumns current = Gateway.Default.From <GuideColumns>().Where(GuideColumns._.Gc_ID == id).ToFirst <GuideColumns>();
            int          tax     = (int)current.Gc_Tax;
            //下一个对象,即弟弟对象;弟弟不存则直接返回false;
            GuideColumns next = Gateway.Default.From <GuideColumns>()
                                .Where(GuideColumns._.Gc_Tax > tax && GuideColumns._.Gc_PID == current.Gc_PID && GuideColumns._.Cou_ID == current.Cou_ID)
                                .OrderBy(GuideColumns._.Gc_Tax.Asc).ToFirst <GuideColumns>();

            if (next == null)
            {
                return(false);
            }
            //交换排序号
            current.Gc_Tax = next.Gc_Tax;
            next.Gc_Tax    = tax;
            using (DbTrans tran = Gateway.Default.BeginTrans())
            {
                try
                {
                    tran.Save <GuideColumns>(current);
                    tran.Save <GuideColumns>(next);
                    tran.Commit();
                    return(true);
                }
                catch
                {
                    tran.Rollback();
                    throw;
                }
                finally
                {
                    tran.Close();
                }
            }
        }
Exemple #6
0
        /// <summary>
        /// 将当前项目向上移动;仅在当前对象的同层移动,即同一父节点下的对象这前移动;
        /// </summary>
        /// <param name="id"></param>
        /// <returns>如果已经处于顶端,则返回false;移动成功,返回true</returns>
        public bool ColumnsRemoveUp(int id)
        {
            //当前对象
            GuideColumns current = Gateway.Default.From <GuideColumns>().Where(GuideColumns._.Gc_ID == id).ToFirst <GuideColumns>();
            int          tax     = (int)current.Gc_Tax;
            //上一个对象,即兄长对象;兄长不存则直接返回false;
            GuideColumns prev = Gateway.Default.From <GuideColumns>()
                                .Where(GuideColumns._.Gc_Tax < tax && GuideColumns._.Gc_PID == current.Gc_PID && GuideColumns._.Cou_ID == current.Cou_ID)
                                .OrderBy(GuideColumns._.Gc_Tax.Desc).ToFirst <GuideColumns>();

            if (prev == null)
            {
                return(false);
            }
            //交换排序号
            current.Gc_Tax = prev.Gc_Tax;
            prev.Gc_Tax    = tax;
            using (DbTrans tran = Gateway.Default.BeginTrans())
            {
                try
                {
                    tran.Save <GuideColumns>(current);
                    tran.Save <GuideColumns>(prev);
                    tran.Commit();
                    return(true);
                }
                catch
                {
                    tran.Rollback();
                    throw;
                }
                finally
                {
                    tran.Close();
                }
            }
        }