コード例 #1
0
            public JQueryDataTable GetSearchData(DTParameters dtParams)
            {
                JQueryDataTable     retVal = new JQueryDataTable();
                DatabaseSearchModel model  = default(DatabaseSearchModel);
                int    offset     = 0;
                int    pageSize   = 0;
                int    draw       = 0;
                string sortColumn = string.Empty;
                string searchText = string.Empty;
                string searchType = string.Empty;
                string sortOrder  = string.Empty;

                base.SetParamsAndSettings();
                string[] columnNames = dtParams.columnnames.Split(",".ToCharArray(), StringSplitOptions.None);
                var      columnIndex = System.Convert.ToInt32(dtParams.order[0].Column);

                offset     = dtParams.start;
                pageSize   = dtParams.length;
                sortColumn = columnNames[columnIndex];
                sortOrder  = dtParams.order[0].Dir.ToString();
                searchText = dtParams.searchtext;
                searchType = dtParams.searchtype;
                draw       = dtParams.draw;
                model      = new DatabaseSearchModel(settings);
                retVal     = model.GetData(@params, draw, searchType, offset, pageSize, sortColumn, sortOrder, searchText);
                return(retVal);
            }
コード例 #2
0
        public static List <ExhibitCompany> Exhibit_Companies_Get(this Req_Exhibit_Dtl e)
        {
            var companies = DataAccess.Exhibit_Companies_Get(new DatabaseSearchModel().SetWhere($" ee_namemd = '{e.e_md}'").SetWhere(" len(ee_company) > 6").SetOrder(" ee_id ").SetPageIndex(e.pg_index).SetPageSize(e.pg_size));
            var model     = new DatabaseSearchModel().SetPageSize(e.pg_size).SetOrder(" oc_id ");

            foreach (var c in companies)
            {
                model.SetOrWhere($" oc_code='{c.oc_code}'");
            }

            var list = DataAccess.OrgCompanyList_Page_Select(model);

            foreach (var l in list)
            {
                for (int i = 0; i < companies.Count; i++)
                {
                    if (companies[i].oc_code == l.oc_code)
                    {
                        companies[i].oc_area = l.oc_area;
                        break;
                    }
                }
            }
            return(companies);
        }
コード例 #3
0
            //<Route("api/DatabaseSearch/GetSearchPage")>
            public HttpResponseMessage GetSearchPage()
            {
                DatabaseSearchModel model    = default(DatabaseSearchModel);
                HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
                string result      = string.Empty;
                string baseURL     = string.Empty;
                string queryString = string.Empty;

                base.SetParamsAndSettings();
                settings.BusinessUnit = ConfigurationManager.AppSettings["DefaultBusinessUnit"].ToString();
                model   = new DatabaseSearchModel(settings);
                baseURL = Utilities.GetSystemDefaultsURL(settings);
                if (string.IsNullOrWhiteSpace(baseURL))
                {
                    baseURL = Request.RequestUri.AbsoluteUri.Split("?".ToCharArray())[0];
                }
                else
                {
                    if (Request.RequestUri.AbsolutePath.Substring(1, Request.RequestUri.AbsolutePath.Length - 1).ToLower().StartsWith("api/"))
                    {
                        baseURL = baseURL + Request.RequestUri.AbsolutePath.Substring(1, Request.RequestUri.AbsolutePath.Length - 1);
                    }
                    else
                    {
                        baseURL = baseURL + Request.RequestUri.AbsolutePath.Substring(1, Request.RequestUri.AbsolutePath.Length - 1).Split("/".ToCharArray(), 2)[1];
                    }
                }
                queryString         = string.Format("?businessunit={0}&sessionid={1}", ConfigurationManager.AppSettings["DefaultBusinessUnit"].ToString(), @params["sessionid"]);
                model.GETDataUrl    = baseURL + "GetSearchData" + queryString;
                model.UPDATEDataUrl = baseURL + "SaveData" + queryString;
                result           = ViewRenderer.RenderView("~/Views/DatabaseSearch/DatabaseSearch.cshtml", model, null);
                response.Content = new StringContent(result);
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
                return(response);
            }
コード例 #4
0
        public static string Judge_Query_Hot_1(int size)
        {
            if (size > 0)
            {
                var           rand = new Random();
                var           id   = rand.Next(100, 100000);
                var           dict = new List <string>();
                List <string> list = null;
                var           s    = new DatabaseSearchModel().SetColumn("jd_docTitle").SetTable("JudgementDocCombine").SetPageSize(size).SetOrder(" id desc ").SetWhere($"id > {id}");
                list = DataAccess.Judge_Query_Hot(s);

                if (list != null && list.Count > 0)
                {
                    foreach (var l in list)
                    {
                        var index = l.IndexOf("案");
                        if (index > 2)
                        {
                            dict.Add(l.Substring(0, index - 1));
                        }
                        else
                        {
                            var j = l.IndexOf("审");
                            if (j > 2)
                            {
                                dict.Add(l.Substring(0, j - 1));
                            }
                        }
                    }
                    return(dict.ToJson());
                }
            }

            return((new List <string>()).ToJson());
        }
コード例 #5
0
 protected bool Map_Page_Select(DatabaseSearchModel <T> search, Database db, DbCommand dbCmd)
 {
     db.AddInParameter(dbCmd, "@column", Constants.Sql_Csharp_TypeMap["string"], search.Column);
     db.AddInParameter(dbCmd, "@where", Constants.Sql_Csharp_TypeMap["string"], search.Where);
     db.AddInParameter(dbCmd, "@order", Constants.Sql_Csharp_TypeMap["string"], search.Order);
     db.AddInParameter(dbCmd, "@page", Constants.Sql_Csharp_TypeMap["int"], search.PageIndex);
     db.AddInParameter(dbCmd, "@pageSize", Constants.Sql_Csharp_TypeMap["int"], search.PageSize);
     db.AddOutParameter(dbCmd, "@rowCount", Constants.Sql_Csharp_TypeMap["int"], 4);
     search.GetTotalRows = () => (int)dbCmd.Parameters["@rowCount"].Value;
     return(true);
 }
コード例 #6
0
            public bool SaveData()
            {
                DatabaseSearchModel model = default(DatabaseSearchModel);
                bool   retVal             = true;
                string jsonData           = string.Empty;
                string searchType         = "TEXTSEARCH";         // todo: get it on run time from web page

                base.SetParamsAndSettings();
                settings.Module_Name = MODULENAME;
                jsonData             = Request.Content.ReadAsStringAsync().Result;
                model  = new DatabaseSearchModel(settings);
                retVal = model.Save(@params, searchType, jsonData);
                return(retVal);
            }
コード例 #7
0
 public static string Judge_Query_Hot(int size)
 {
     if (size > 0)
     {
         var rand = new Random();
         var id   = rand.Next(100, 100000);
         var s    = new DatabaseSearchModel().SetColumn("jd_docTitle").SetTable("JudgementDocCombine").SetPageSize(size * 2).SetOrder(" id desc ").SetWhere("oc_code <> '' ").SetWhere($"id > {id}");
         var list = DataAccess.Judge_Query_Hot(s);
         if (list != null)
         {
             var lst = new List <string>();
             foreach (var l in list)
             {
                 var m = Regex.Match(l, @"(\w+)有限");
                 if (m.Success)
                 {
                     var raw_str = m.Groups[0].Value;
                     if (raw_str.Contains("与"))
                     {
                         continue;
                     }
                     var mo = raw_str.Substring(0, raw_str.Length - 2);
                     if (lst.Exists(t => t.Contains(mo)))
                     {
                         continue;
                     }
                     lst.Add(mo + " 裁判书");
                 }
                 else
                 {
                     lst.Add(l);
                 }
                 if (lst.Count == size)
                 {
                     break;
                 }
             }
             return(lst.ToJson());
         }
     }
     return((new List <string>()).ToJson());
 }
コード例 #8
0
 public IList <T> Page_Select(DatabaseSearchModel <T> search)
 {
     return(_db.ToMaybe().Select <DbCommand, List <T> >(
                db => db.GetStoredProcCommand(SpSet.Dict[SpName_Page_Select]),
                (db, cmd) =>
     {
         Map_Page_Select(search, db, cmd);
         var list = new List <T>();
         using (IDataReader dr = db.ExecuteReader(cmd))
         {
             while (dr.Read())
             {
                 list.Add(Map_Entity(dr));
             }
             //dr.NextResult();
             return list;
         }
     }
                ).Value);
 }
コード例 #9
0
        public static string Exhibit_Query_Hot(int size)
        {
            if (size < 1 || size > 5)
            {
                size = 5;
            }

            var rand  = new Random(DateTime.Now.Millisecond);
            var model = new DatabaseSearchModel().SetPageSize(500).SetPageIndex(rand.Next(10)).SetColumn(" max(ee_exhName) as e_name ")
                        .SetWhere(" ee_namemd <> '' group by ee_namemd ").SetOrder(" ee_namemd ").SetTable("ExhibitionEnterprise");
            var list = DataAccess.Exhibit_Query_Hot(model);

            var e_names = new List <string>(size);

            if (list.Count > 300)
            {
                var firstKey = rand.Next(list.Count);
                var keys     = new List <int>(size);
                keys.Add(firstKey);
                for (int i = 0; i < size - 1; i++)
                {
                    var key = rand.Next(list.Count);
                    while (keys.Contains(key))
                    {
                        key = rand.Next(list.Count);
                    }
                    keys.Add(key);
                }
                for (int i = 0; i < size; i++)
                {
                    var s = list[keys[i]];
                    //int index = 0;
                    int end = 0;
                    for (int j = 1; j < s.Length; j++)
                    {
                        //if(s[j] > 127 && s[j - 1] < 127)
                        //{
                        //    if(j < 8)
                        //    {
                        //        index = j;
                        //        if (s[j] == '年' || s[j] == '届')
                        //        {
                        //            index++;
                        //        }
                        //        break;
                        //    }
                        //    break;
                        //}
                        if (s[j] == '会' || s[j] == '览' || s[j] == '展')
                        {
                            if (j + 1 < s.Length && s[j + 1] == ' ')
                            {
                                end = j;
                                break;
                            }
                        }
                    }
                    if (end > 0)
                    {
                        e_names.Add(s.Substring(0, end + 1));
                    }
                    else
                    {
                        e_names.Add(s);
                    }
                }
            }
            else if (list.Count >= size)
            {
                for (int i = 0; i < size; i++)
                {
                    var s     = list[i];
                    int index = 0;
                    for (int j = 1; j < s.Length; j++)
                    {
                        if (s[j] > 127 && s[j - 1] < 127)
                        {
                            if (j < 8)
                            {
                                index = j;
                                if (s[j] == '年' || s[j] == '届')
                                {
                                    index++;
                                }
                                break;
                            }
                            break;
                        }
                    }
                    if (index > 0)
                    {
                        e_names.Add(s.Substring(index));
                    }
                    else
                    {
                        e_names.Add(s);
                    }
                }
            }
            else
            {
                e_names.Add("中国深圳国际科学生活博览会");
                e_names.Add("中国国际五金展览会");
            }
            return(e_names.ToJson());
        }