public int DeletePageInfo(PageInfoDetail obj)
        {
            string sql = this.GetDeleteSql(obj.data);

            this.ExcuteNoQuery(sql);
            return(1);
        }
예제 #2
0
        /// <summary>
        /// 页面实体解析成页面类
        /// </summary>
        /// <param name="pageObj"></param>
        /// <returns></returns>
        public xinlongyuForm DecodePage(PageInfoDetail pageObj, bool isNavigationWindow)
        {
            //页面基本信息
            PageBaseInfo dtObj = pageObj.data;

            if (object.Equals(dtObj.control_list, null))
            {
                return(null);
            }
            try
            {
                List <ControlDetailForPage> listControlObject = ControlCaster.CastArrayToControl(dtObj.control_list);

                //判断一下解析出来的控件数组是不是为空
                if (object.Equals(listControlObject, null) || listControlObject.Count < 1)
                {
                    return(null);
                }

                var page = this.DecodeListControlObj(listControlObject, isNavigationWindow);
                if (!object.Equals(page, null))
                {
                    page.Title = pageObj.data.page_name;                            //设置标题
                }
                return(page);
            }
            catch (Exception ex)
            {
                Logging.Error(ex.Message);
                return(null);
            }
        }
        //private string _pageControlTableName = "hs_new_page_ctrls";
        /// <summary>
        /// 缓存页面信息
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="listControlObject"></param>
        /// <returns></returns>
        public int CachePageInfo(PageInfoDetail obj)
        {
            List <ControlDetailForPage> listControlObject = ControlCaster.CastArrayToControl(obj.data.control_list);

            //
            this.CachePageBaseInfo(obj);
            //
            this.CachePageControlInfo(listControlObject);
            return(1);
        }
        /// <summary>
        /// 缓存页面基本信息
        /// </summary>
        /// <param name="obj"></param>
        private void CachePageBaseInfo(PageInfoDetail obj)
        {
            string deleteSql = string.Format(@"delete from hs_new_pages where page_id = '{0}'", obj.data.page_id);

            this.ExcuteNoQuery(deleteSql);
            string sql = @"insert into hs_new_pages (page_id, page_name, page_width, page_height,last_time) values ('{0}', '{1}', '{2}', '{3}', '{4}')";

            sql = string.Format(sql, obj.data.page_id, obj.data.page_name, obj.data.page_width, obj.data.page_height, obj.data.last_time);
            this.ExcuteNoQuery(sql);
        }
        /// <summary>
        /// 获取页面信息
        /// </summary>
        /// <param name="pageid"></param>
        /// <returns></returns>
        public PageInfoDetail GetPageInfo(int pageid)
        {
            PageInfoDetail pd = new PageInfoDetail();

            pd.data = this.GetPageBaseInfo(pageid);
            if (object.Equals(pd.data, null))
            {
                return(null);
            }
            pd.data.control_list = ControlCaster.CastControlToObjectArray(this.GetControlBaseInfo(pageid));
            return(pd);
        }
        /// <summary>
        /// 获取页面信息
        /// </summary>
        /// <param name="pageId"></param>
        /// <returns></returns>
        public async Task <PageInfoDetail> GetPageInfo(int pageId)
        {
            //string pageVersion = string.IsNullOrEmpty(LocalCacher.GetCache("page_version")) ? "0" : LocalCacher.GetCache("page_version");
            string      pageVersion = "4";
            BaseRequest bj          = this.GetPageRequest(pageId, pageVersion);

            try
            {
                PageInfoDetail prd;
                try
                {
                    var result = await Post(bj);

                    BaseReturn brj  = JsonController.DeSerializeToClass <BaseReturn>(result);
                    ReturnCode code = JsonController.DeSerializeToClass <ReturnCode>(brj.data.ToString());
                    if (code.error_code.Equals("1"))
                    {
                        throw new Exception("获取页面失败");
                    }
                    prd = JsonController.DeSerializeToClass <PageInfoDetail>(brj.data.ToString());
                }
                catch (Exception ex)
                {
                    Logging.Error(ex.Message);
                    //这种情况是连不上服务的处理或者调用接口失败
                    prd      = new PageInfoDetail();
                    prd.data = null;
                }
                if (object.Equals(prd.data, null))
                {
                    return(_pageCacher.GetPageInfo(pageId));
                }
                else
                {
                    //获取页面成功后进行缓存
                    if ("0".Equals(pageVersion))
                    {
                        _pageCacher.CachePageInfo(prd);
                    }
                    return(prd);
                }
            }
            catch
            {
                return(null);
            }
        }