Exemple #1
0
 public static List <Note> GetNoteByObject(string app_id, IEnumerable <string> id_obj, LoaiNote loai, LoaiDuLieu loai_du_lieu, string nguoi_tao, out long total_recs, out string msg, int page_size = 50)
 {
     return(NoteRepository.Instance.GetNoteByObject(app_id, id_obj, loai, loai_du_lieu, nguoi_tao, out total_recs, out msg, page_size));
 }
Exemple #2
0
        public List <Note> GetNoteByObject(string app_id, IEnumerable <string> id_obj, LoaiNote loai, LoaiDuLieu loai_du_lieu, string nguoi_tao, out long total_recs, out string msg, int page_size = 50)
        {
            msg        = "";
            total_recs = 0;
            List <Note> lst = new List <Note>();

            try
            {
                List <QueryContainer> must     = new List <QueryContainer>();
                List <QueryContainer> must_not = new List <QueryContainer>();
                must_not.Add(new TermQuery()
                {
                    Field = "trang_thai", Value = TrangThai.DELETED
                });
                must.Add(new TermQuery()
                {
                    Field = "app_id.keyword", Value = app_id
                });
                must.Add(new TermsQuery()
                {
                    Field = "id_obj.keyword", Terms = id_obj
                });
                must.Add(new TermQuery()
                {
                    Field = "loai", Value = loai
                });
                must.Add(new TermQuery()
                {
                    Field = "loai_du_lieu", Value = loai_du_lieu
                });
                must.Add(new TermQuery()
                {
                    Field = "nguoi_tao.keyword", Value = nguoi_tao
                });
                List <ISort> sort = new List <ISort>();
                sort.Add(new FieldSort()
                {
                    Field = "ngay_sua", Order = SortOrder.Descending
                });
                sort.Add(new FieldSort()
                {
                    Field = "ngay_tao", Order = SortOrder.Descending
                });
                SearchRequest req = new SearchRequest(_default_index);
                req.Query = new QueryContainer(new BoolQuery()
                {
                    Must = must, MustNot = must_not
                });
                req.From           = 0;
                req.Size           = page_size;
                req.Sort           = sort;
                req.TrackTotalHits = true;
                var res = client.Search <Note>(req);
                if (res.IsValid)
                {
                    total_recs = res.Total;
                    lst        = res.Hits.Select(x => ConvertDoc(x)).ToList();
                }
            }
            catch (Exception ex)
            {
                msg = $"{ex.Message}. Trace: {ex.StackTrace}";
            }
            return(lst);
        }