编程帮手网站:逻辑方法工具实现更新UTB_WEB_CODE_READSRC的ProjSrc_Id字段

2017-07-14 11:31:39  访问(2570) 赞(0) 踩(0)


原因:
UTB_WEB_CODE_RPROJSRC 是一个列表记录
UTB_WEB_CODE_READSRC 是树形表记录

UTB_WEB_CODE_RPROJSRC.ID == UTB_WEB_CODE_READSRC.ProjSrc_Id

早先没有UTB_WEB_CODE_RPROJSRC,查看源码通过UTB_WEB_CODE_READSRC串联起来,性能比较差
追加UTB_WEB_CODE_RPROJSRC后,需要update UTB_WEB_CODE_READSRC.ProjSrc_Id = UTB_WEB_CODE_RPROJSRC.ID 


    /// <summary>
    /// 
    /// </summary>
    /// <param name="xdbHelper"></param>
    /// <returns></returns>
    protected List<SlowX.WebLib.Model.UTB_WEB_CODE_READSRC>
        WebCodeReadSrcModelRootList(DBHelper xdbHelper)
    {
        List<SlowX.WebLib.Model.UTB_WEB_CODE_READSRC> theResult = null;

        bool bIsCreate = true;

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

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

            SlowX.WebLib.Business.UTB_WEB_CODE_READSRC
                bll
                =
                SlowX.WebLib.Business.UTB_WEB_CODE_READSRC.instance;

            SlowX.WebLib.Entity.UTB_WEB_CODE_READSRC
                entity
                =
                new SlowX.WebLib.Entity.UTB_WEB_CODE_READSRC();

            IQueryDriver iq = entity;
            iq.WhereAddLong(entity._PID, 0);
            iq.WhereAddLong(entity._ProjSrc_Id, 0);

            theResult = bll.ListCurModel(entity, xdbHelper);

            if (bIsCreate)
                xdbHelper.EndDBHelper();

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

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

        return theResult;
    }


    /// <summary>
    /// 
    /// </summary>
    /// <param name="rootId"></param>
    /// <param name="projSrc_Id"></param>
    /// <param name="xdbHelper"></param>
    /// <returns></returns>
    protected int
        WebCodeReadSrcUpdateProjSrc_Id
        (
            long rootId,
            long projSrc_Id,
            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();

            SlowX.WebLib.Business.UTB_WEB_CODE_READSRC
                bll
                =
                SlowX.WebLib.Business.UTB_WEB_CODE_READSRC.instance;

            SlowX.WebLib.Entity.UTB_WEB_CODE_READSRC
                entity
                =
                new SlowX.WebLib.Entity.UTB_WEB_CODE_READSRC();

            IQueryDriver iq = entity;
            ISaveDriver isave = entity;

            iq.WhereAddStr
                (
                    entity._Path, 
                    SlowX.DAL.Enums.SqlStrExprss.EmSqlStrExprss._Like_, 
                    "," + rootId.ToString() + ","
                );

            isave.AddISaveItem(entity._ProjSrc_Id, projSrc_Id);

            theResult = bll.Update(entity, xdbHelper);

            if (bIsCreate)
                xdbHelper.EndDBHelper();

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

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

        return theResult;
    }

    /// <summary>
    /// 点击确定
    /// </summary>
    /// <param name="xdbHelper"></param>
    protected int GOClick(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();

            List<SlowX.WebLib.Model.UTB_WEB_CODE_READSRC>
                theList 
                =
                WebCodeReadSrcModelRootList(xdbHelper);

                SlowX.WebLib.Business.UTB_WEB_CODE_PROJSRC 
                bll
                =
                SlowX.WebLib.Business.UTB_WEB_CODE_PROJSRC.instance;

                SlowX.WebLib.Entity.UTB_WEB_CODE_PROJSRC
                entity
                =
                new SlowX.WebLib.Entity.UTB_WEB_CODE_PROJSRC();

                ISaveDriver isave = entity;

            long newId = 0;

            foreach (SlowX.WebLib.Model.UTB_WEB_CODE_READSRC
                model in theList)
            {
                newId = bll.GetNewLongID(xdbHelper);
                isave.ClearAllISaveItem();

                isave.AddISaveItem(entity._ID, newId);
                isave.AddISaveItem(entity._TheName, model.TheName);
                isave.AddISaveItem(entity._TheCode, model.TheCode);
                isave.AddISaveItem(entity._Description, model.Description);
                isave.AddISaveItem(entity._EmItemStatusV, model.EmItemStatusV);
                isave.AddISaveItem(entity._EmShowPowerV, model.EmShowPowerV);
                isave.AddISaveItem(entity._MetaKeywords, model.MetaKeywords);
                isave.AddISaveItem(entity._MetaDescription, model.MetaDescription);
                isave.AddISaveItem(entity._Hits, model.Hits);
                isave.AddISaveItem(entity._HitTime, model.HitTime);
                isave.AddISaveItem(entity._HitIp, model.HitIp);
                isave.AddISaveItem(entity._HitIpAddress, model.HitIpAddress);
                isave.AddISaveItem(entity._Remark, model.Remark);
                isave.AddISaveItem(entity._CreateTime, model.CreateTime);
                isave.AddISaveItem(entity._UpdateTime, model.UpdateTime);

                bll.Insert(entity, xdbHelper);

                WebCodeReadSrcUpdateProjSrc_Id(model.ID, newId, xdbHelper);
                
                ++theResult;

            }
             

            if (bIsCreate)
                xdbHelper.EndDBHelper();

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

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

        return theResult;
    }

    /// <summary>
    /// 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnClick(object sender, EventArgs e)
    {
        try
        {
            int theResult = GOClick(null);
            Response.Write("OK = " + theResult.ToString());
        }
        catch (Exception err)
        {
            Response.Write(err.Message);
        }

    }

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)