删除前,更新显示顺序 - ShowSeqUpdateForDelete

2017-02-21 23:11:45  访问(1583) 赞(0) 踩(0)


        /// <summary>
        /// 删除前,更新显示顺序 - ShowSeqUpdateForDelete
        /// </summary>
        /// <param name="bll"></param>
        /// <param name="showSeqDataColumnName"></param>
        /// <param name="showSeq"></param>
        /// <param name="listShowSeqAssistParams"></param>
        /// <param name="xdbHelper">数据库链接串</param>
        public int ShowSeqUpdateForDelete
            ( 
                string showSeqDataColumnName,
                int showSeq,
                List<ShowSeqAssistParams> listShowSeqAssistParams,
                DBHelper xdbHelper
            )
        {
            int theResult = 0;

            bool bIsCreate = true;

            if (xdbHelper == null)
            {
                xdbHelper 
                    = 
                    SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
            }
            else
            {
                // 没有打开链接 //
                bIsCreate = xdbHelper.IsNotOpen();
            }

            try
            {
                if (bIsCreate)
                    xdbHelper.OpenDBHelper();

                BaseEntity entity 
                    = 
                    CreateBaseEntity();

                IQueryDriver iq = entity;
                ISaveDriver isave = entity;

                // update tableName set showseq = showseq - 1 where showseq >= xx ";

                if (listShowSeqAssistParams != null)
                {
                    foreach (ShowSeqAssistParams showSeqAssistParamsValue in listShowSeqAssistParams)
                    {
                        iq.AddIQueryItemWithEntityFieldInfo
                            (
                                entity.GetExistEntityFieldInfo(showSeqAssistParamsValue.dataColumnName),
                                showSeqAssistParamsValue.theValue
                            );
                    }
                }

                EntityFieldInfo infoShowSeq = entity.GetExistEntityFieldInfo(showSeqDataColumnName);
                SaveAssist saveAssistValue = new SaveAssist();

                saveAssistValue.rightAddBaseSqlFunction
                    (
                        new MathSqlFunction(Enums.SqlMath.EmSqlMath.减, 1)
                    );

                isave.AddISaveItem
                    (
                        infoShowSeq,
                        saveAssistValue,
                        infoShowSeq
                    );


                iq.AddIQueryItemWithEntityFieldInfo
                    (
                        infoShowSeq,
                        Enums.SqlLink.EmSqlLink.Greater,
                        showSeq
                    );

                theResult = _Update(entity, xdbHelper);

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

            }
            catch (Exception err)
            {
                if (bIsCreate)
                    xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {
                if (bIsCreate)
                    xdbHelper.FinallyDBHelper();
            }

            return theResult;

        }


标签:删除前,更新显示顺序 - ShowSeqUpdateForDelete 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)