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)); }
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); }