public List <personList> getPerson(int id, string code) { bo = new ClassBo(); dt = new DataTable(); dt = da.getPerson(id, code); List <personList> list = new List <personList>(); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { personList itlist = new personList(); itlist.id = dr[bo.id].ToString(); itlist.code = dr[bo.code].ToString(); itlist.commonName = dr[bo.commonName].ToString(); itlist.givenName = dr[bo.givenName].ToString(); itlist.middleName = dr[bo.middleName].ToString(); itlist.contactNumber = dr[bo.contactNumber].ToString(); itlist.email = dr[bo.email].ToString(); itlist.status = dr[bo.status].ToString() == "I" ? "Inactive" : "Active"; itlist.gender = dr[bo.gender].ToString(); itlist.address1 = dr[bo.address1].ToString(); itlist.address2 = dr[bo.address2].ToString(); itlist.city = dr[bo.city].ToString(); itlist.country = dr[bo.country].ToString(); itlist.zip = dr[bo.zip].ToString(); itlist.dob = dr[bo.Dob].ToString().Length > 0 ? DateTime.Parse(dr[bo.Dob].ToString()).ToString("MM/dd/yyyy") : null; itlist.CountryCode = dr[bo.CountryCode].ToString(); list.Add(itlist); } } return(list); }
//全文检索,单个字段或者多字段 或关系 //字段intro 包含词组key中的任意一个单词 // public personList Search <person>(string indexName, string indexType, string key, int from, int size) { string cmd = new SearchCommand(indexName, indexType); string query = new QueryBuilder <person>() //1 查询 .Query(b => b.Bool(m => //并且关系 m.Must(t => //分词的最小单位或关系查询 t.QueryString(t1 => t1.DefaultField("intro").Query(key)) //.QueryString(t1 => t1.DefaultField("name").Query(key)) // t .Terms(t2=>t2.Field("intro").Values("研究","方鸿渐")) //范围查询 // .Range(r => r.Field("age").From("100").To("200") ) ) ) ) //分页 .From(from) .Size(size) //排序 // .Sort(c => c.Field("age", SortDirection.desc)) //添加高亮 .Highlight(h => h .PreTags("<b>") .PostTags("</b>") .Fields( f => f.FieldName("intro").Order(HighlightOrder.score), f => f.FieldName("_all") ) ) .Build(); string result = Client.Post(cmd, query); var serializer = new JsonNetSerializer(); var list = serializer.ToSearchResult <Models.person>(result); personList datalist = new personList(); datalist.hits = list.hits.total; datalist.took = list.took; var personList = list.hits.hits.Select(c => new Models.person() { id = c._source.id, age = c._source.age, birthday = c._source.birthday, intro = string.Join("", c.highlight["intro"]), //高亮显示的内容,一条记录中出现了几次 name = c._source.name, sex = c._source.sex, }); datalist.list.AddRange(personList); return(datalist); }
public int savePerson(personList list) { int rowCount = 0; try { bo = new ClassBo(); con.ConnectionString = connStr; cmd = new SqlCommand(ClassBo.insPerson, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue(bo.P_id, Convert.ToInt32(list.id)); cmd.Parameters.AddWithValue(bo.P_code, list.code); cmd.Parameters.AddWithValue(bo.P_commonName, list.commonName); cmd.Parameters.AddWithValue(bo.P_givenName, list.givenName); cmd.Parameters.AddWithValue(bo.P_middleName, list.middleName); cmd.Parameters.AddWithValue(bo.P_gender, list.gender); if (list.dob == null) { cmd.Parameters.AddWithValue(bo.P_dob, DBNull.Value); } else { cmd.Parameters.AddWithValue(bo.P_dob, list.dob); } cmd.Parameters.AddWithValue(bo.P_address1, list.address1); cmd.Parameters.AddWithValue(bo.P_address2, list.address2); cmd.Parameters.AddWithValue(bo.P_city, list.city); cmd.Parameters.AddWithValue(bo.P_country, list.country); cmd.Parameters.AddWithValue(bo.P_zip, list.zip); cmd.Parameters.AddWithValue(bo.P_contactNumber, Convert.ToInt32(list.contactNumber)); cmd.Parameters.AddWithValue(bo.P_email, list.email); cmd.Parameters.AddWithValue(bo.P_userName, list.userName); cmd.Parameters.AddWithValue(bo.P_password, list.password); cmd.Parameters.AddWithValue(bo.P_status, list.status); cmd.Parameters.AddWithValue(bo.P_By, 1); cmd.Parameters.AddWithValue(bo.P_CountryCode, Convert.ToInt32(list.CountryCode)); con.Open(); rowCount = cmd.ExecuteNonQuery(); con.Close(); return(rowCount); } catch (Exception ex) { con.Close(); return(rowCount); } }
public List <personList> serchPerson(string code) { bo = new ClassBo(); dt = new DataTable(); dt = da.serchPerson(code); List <personList> list = new List <personList>(); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { personList itlist = new personList(); itlist.id = dr[bo.id].ToString(); itlist.code = dr[bo.code].ToString(); itlist.commonName = dr[bo.commonName].ToString(); itlist.givenName = dr[bo.givenName].ToString(); itlist.middleName = dr[bo.middleName].ToString(); list.Add(itlist); } } return(list); }
public static int websavePerson(personList list) { person cl = new person(); return(cl.savePerson(list)); }
public int savePerson(personList list) { bl = new ClassBl(); return(bl.savePerson(list)); }
//全文检索,多字段 并关系 //搜索age在100到200之间,并且字段intro 或者name 包含词组key public personList SearchFullFiledss <person>(string indexName, string indexType, string key, int from, int size) { MustQuery <person> mustNameQueryKeys = new MustQuery <person>(); MustQuery <person> mustIntroQueryKeys = new MustQuery <person>(); var arrKeys = GetIKTokenFromStr(key); foreach (var item in arrKeys) { mustNameQueryKeys = mustNameQueryKeys.Term(t3 => t3.Field("name").Value(item)) as MustQuery <person>; mustIntroQueryKeys = mustIntroQueryKeys.Term(t3 => t3.Field("intro").Value(item)) as MustQuery <person>; } string cmd = new SearchCommand(indexName, indexType); string query = new QueryBuilder <person>() //1 查询 .Query(b => b.Bool(m => m.Must(t => t.Range(r => r.Field("age").From("1").To("500")) .Bool(ms => ms.Should(ts => ts.Bool(m1 => m1.Must( t2 => //t2.Term(t3=>t3.Field("name").Value("研究")) // .Term(t3=>t3.Field("name").Value("方鸿渐")) // mustNameQueryKeys ) ) ) .Should(ts => ts.Bool(m1 => m1.Must(t2 => //t2.Term(t3 => t3.Field("intro").Value("研究")) //.Term(t3 => t3.Field("intro").Value("方鸿渐")) // mustIntroQueryKeys ) ) ) ) ) ) ) //分页 .From(from) .Size(size) //排序 // .Sort(c => c.Field("age", SortDirection.desc)) //添加高亮 .Highlight(h => h .PreTags("<b>") .PostTags("</b>") .Fields( f => f.FieldName("intro").Order(HighlightOrder.score), f => f.FieldName("name").Order(HighlightOrder.score) ) ) .Build(); string result = Client.Post(cmd, query); var serializer = new JsonNetSerializer(); var list = serializer.ToSearchResult <Models.person>(result); personList datalist = new personList(); datalist.hits = list.hits.total; datalist.took = list.took; var personList = list.hits.hits.Select(c => new Models.person() { id = c._source.id, age = c._source.age, birthday = c._source.birthday, intro = c.highlight == null || !c.highlight.Keys.Contains("intro") ? c._source.intro : string.Join("", c.highlight["intro"]), //高亮显示的内容,一条记录中出现了几次 name = c.highlight == null || !c.highlight.Keys.Contains("name") ? c._source.name : string.Join("", c.highlight["name"]), sex = c._source.sex }); datalist.list.AddRange(personList); return(datalist); }
public int savePerson(personList list) { return(da.savePerson(list)); }