コード例 #1
0
ファイル: ClassBl.cs プロジェクト: nitingupta4k/Time_Table
        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);
        }
コード例 #2
0
        //全文检索,单个字段或者多字段 或关系
        //字段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);
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
ファイル: ClassBl.cs プロジェクト: nitingupta4k/Time_Table
        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);
        }
コード例 #5
0
        public static int websavePerson(personList list)
        {
            person cl = new person();

            return(cl.savePerson(list));
        }
コード例 #6
0
 public int savePerson(personList list)
 {
     bl = new ClassBl();
     return(bl.savePerson(list));
 }
コード例 #7
0
        //全文检索,多字段 并关系
        //搜索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);
        }
コード例 #8
0
ファイル: ClassBl.cs プロジェクト: nitingupta4k/Time_Table
 public int savePerson(personList list)
 {
     return(da.savePerson(list));
 }