通过Ids和字段,删除记录和本地文件

2015-11-10 17:02:42  访问(1697) 赞(0) 踩(0)

/// <summary>
        /// 
        /// </summary>
        /// <param name="ds"></param>
        private void _EkGpsUpdateManageDel4DownloadAdress
            (
                DataSet ds,
                string dataColumnName
            )
        {
            if (ds == null || ds.Tables[0].Rows.Count == 0)
                return;

            if (HttpContext.Current == null)
            {
                throw new Exception
                    (
                        "方法:"
                        + MethodBase.GetCurrentMethod().ReflectedType.FullName
                        + " "
                        + MethodBase.GetCurrentMethod().ToString()
                        + " 发生异常:"
                        + "HttpContext.Current"
                        + "值为null或为空。"
                    );
            }

            string rootPath 
                = 
                HttpContext.Current.Request.PhysicalApplicationPath;

            string str = null;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                str = dr[dataColumnName].ToString();

                if (str == null || str.Length == 0)
                    continue;

                if (!str.StartsWith("~/"))
                    continue;

                str = rootPath + str.Substring(2);

                if (File.Exists(str))
                    File.Delete(str);
            }
        }

        /// <summary>
        /// 自动更新删除 - EkGpsUpdateManageDel
        /// </summary>
        /// <param name="mp"></param> 
        /// <param name="xdbHelper"></param>
        /// <returns></returns>
        public int _EkGpsUpdateManageDel
            (   
                EkGpsUpdateManageDelMP mp, 
                DBHelper xdbHelper
            )
        {
            int theResult
                =
                -1; 

            bool bIsCreate = true;

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

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

                eKing.XlyLib.Business.UTB_EK_GPS_UPDATE
                    bll
                    =
                    eKing.XlyLib.Business.UTB_EK_GPS_UPDATE.instance;

                eKing.XlyLib.Entity.UTB_EK_GPS_UPDATE
                    entity
                    =
                    new eKing.XlyLib.Entity.UTB_EK_GPS_UPDATE();

                IQueryDriver iq = entity;
                ISelectDriver iselect = entity;

                iq.AddIQueryItemWithEntityFieldInfo
                    (
                        entity._ID,
                        SlowX.Core.Enums.SqlLink.EmSqlLink.In,
                        mp.CurId
                    );

                iselect.AddISelectItemWithEntityFieldInfo
                    (
                        entity._DownloadAdress
                    );

                DataSet ds = bll.List(entity, xdbHelper);

                _EkGpsUpdateManageDel4DownloadAdress
                    (
                        ds,
                        entity._DownloadAdress._Name
                    );

                theResult = bll.Delete(entity, xdbHelper);

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

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

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

            return theResult;

        }


标签:通过Ids和字段,删除记录和本地文件 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)