Exemple #1
0
        /// <summary>
        /// 获取用户已选择的查询结果列信息
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="groupId">查询条件组id</param>
        /// <returns></returns>
        public List <QueryResultParaDto> GetResultParaSelect(long userId, long groupId)
        {
            var result = new List <QueryResultParaDto>();

            sys_query_type_user queryUser = new sys_query_type_user_dal().GetQueryTypeUser(userId, groupId);

            if (queryUser == null)  // 用户未修改查询结果列,使用默认值
            {
                queryUser = new sys_query_type_user_dal().GetQueryTypeUser(0, groupId);
            }
            if (queryUser == null)
            {
                return(result);
            }

            // 获取显示结果列信息并按顺序填充
            var list = new d_query_result_dal().FindListBySql($"SELECT * FROM d_query_result WHERE id IN ({queryUser.query_result_ids}) AND query_type_id={queryUser.query_type_id} ");

            string[] ids = queryUser.query_result_ids.Split(',');
            for (int i = 0; i < ids.Length; ++i)
            {
                long id  = long.Parse(ids[i]);
                var  col = list.Find(c => c.id == id);
                if (col == null)
                {
                    continue;
                }

                AuthUrlDto url = null;
                if (!string.IsNullOrEmpty(col.link_url))
                {
                    url = GetAuthUrl(col.link_url);
                }
                QueryResultParaDto para = new QueryResultParaDto
                {
                    id      = id,
                    name    = col.col_comment,
                    length  = col.col_length,
                    type    = col.display_type_id,
                    visible = col.is_visible,
                    url     = url
                };
                result.Add(para);
            }

            return(result);
        }
Exemple #2
0
        private AuthUrlDto GetAuthUrl(string url)
        {
            AuthUrlDto dto   = new AuthUrlDto();
            int        index = url.IndexOf('?');

            if (index == -1)
            {
                dto.url   = url;
                dto.parms = null;
            }
            else
            {
                dto.url   = url.Substring(0, index);
                dto.parms = new List <UrlPara>();
                var prms = url.Substring(index + 1).Split('&');
                for (int i = 0; i <= prms.Length - 1; ++i)
                {
                    UrlPara prm = new UrlPara();
                    prm.value = null;
                    int valueIndex = prms[i].IndexOf('=');
                    if (valueIndex == -1)
                    {
                        prm.name = prms[i];
                    }
                    else
                    {
                        prm.name = prms[i].Substring(0, valueIndex);
                        if (valueIndex < prms[i].Length - 1)
                        {
                            prm.value = prms[i].Substring(valueIndex + 1);
                        }
                    }
                    dto.parms.Add(prm);
                }
            }

            return(dto);
        }