public static List <PhanQuyen> Get(string tu_khoa, PhanQuyenRule rule, PhanQuyenType type, string user, PhanQuyenObjType obj_type, string obj_id, List <Quyen> quyen, long ngay_het_tu, long ngay_het_den, string nguoi_tao, long ngay_tao_tu, long ngay_tao_den, string nguoi_sua, long ngay_sua_tu, long ngay_sua_den, int page, int recs, out long total) { return(PhanQuyenRepository.Instance.Get(tu_khoa, rule, type, user, obj_type, obj_id, quyen, ngay_het_tu, ngay_het_den, nguoi_tao, ngay_tao_tu, ngay_tao_den, nguoi_sua, ngay_sua_tu, ngay_sua_den, page, recs, out total)); }
public IActionResult Get(string term, PhanQuyenRule rule, PhanQuyenType type, string user, PhanQuyenObjType obj_type, string obj_id, List <Quyen> quyen, long ngay_het_tu, long ngay_het_den, string nguoi_tao, long ngay_tao_tu, long ngay_tao_den, string nguoi_sua, long ngay_sua_tu, long ngay_sua_den, int page, int recs) { long total; DataResponsePaging res = new DataResponsePaging(); try { res.data = QLCUNL.BL.PhanQuyenBL.Get(term, rule, type, user, obj_type, obj_id, quyen, ngay_het_tu, ngay_het_den, nguoi_tao, ngay_tao_tu, ngay_tao_den, nguoi_sua, ngay_sua_tu, ngay_sua_den, page, recs, out total); res.success = true; res.total = total; } catch (Exception ex) { res.msg = ex.StackTrace; res.success = false; } return(Ok(res)); }
public List <PhanQuyen> Get(string tu_khoa, PhanQuyenRule rule, PhanQuyenType type, string user, PhanQuyenObjType obj_type, string obj_id, List <Quyen> quyen, long ngay_het_tu, long ngay_het_den, string nguoi_tao, long ngay_tao_tu, long ngay_tao_den, string nguoi_sua, long ngay_sua_tu, long ngay_sua_den, int page, int recs, out long total) { total = 0; List <QueryContainer> mustQuery = new List <QueryContainer>(); List <QueryContainer> mustNotQuery = new List <QueryContainer>(); try { #region Term if (!String.IsNullOrWhiteSpace(tu_khoa)) { mustQuery.Add(new QueryStringQuery() { Query = tu_khoa }); } #endregion Term #region Rule if (rule != PhanQuyenRule.ALL) { mustQuery.Add(new TermQuery() { Field = "rule", Value = rule }); } #endregion Rule #region Type if (type != PhanQuyenType.ALL) { mustQuery.Add(new TermQuery() { Field = "type", Value = type }); } #endregion Type #region User if (!String.IsNullOrWhiteSpace(user) && user.ToLower() != "all") { mustQuery.Add(new TermQuery() { Field = "user.keyword", Value = user }); } #endregion User #region Type if (obj_type != PhanQuyenObjType.ALL) { mustQuery.Add(new TermQuery() { Field = "obj_type", Value = obj_type }); } #endregion Type #region ObjId if (!String.IsNullOrWhiteSpace(obj_id)) { mustQuery.Add(new TermQuery() { Field = "obj_id.keyword", Value = obj_id }); } #endregion ObjId #region Quyền if (quyen.Count > 0) { mustQuery.Add(new TermsQuery() { Field = "quyen", Terms = quyen.Select(x => (object)x) }); } #endregion Quyền #region Ngày hết if (ngay_het_tu > 0 && ngay_het_den > 0) { mustQuery.Add(new LongRangeQuery() { Field = "ngay_het", GreaterThanOrEqualTo = ngay_het_tu, LessThanOrEqualTo = ngay_het_den }); } #endregion Ngày hết #region Người tạo if (nguoi_tao.ToLower() != "all") { mustQuery.Add(new TermQuery() { Field = "nguoi_tao.keyword", Value = nguoi_tao }); } #endregion Người tạo #region Ngày tạo if (ngay_tao_tu > 0 && ngay_tao_den > 0) { mustQuery.Add(new LongRangeQuery() { Field = "ngay_tao", GreaterThanOrEqualTo = ngay_tao_tu, LessThanOrEqualTo = ngay_tao_den }); } #endregion Ngày tạo #region Người sửa if (nguoi_sua.ToLower() != "all") { mustQuery.Add(new TermQuery() { Field = "nguoi_sua.keyword", Value = nguoi_sua }); } #endregion Người sửa #region Ngày sửa if (ngay_sua_tu > 0 && ngay_sua_den > 0) { mustQuery.Add(new LongRangeQuery() { Field = "ngay_sua", GreaterThanOrEqualTo = ngay_sua_tu, LessThanOrEqualTo = ngay_sua_den }); } #endregion Ngày sửa page = page < 1 ? 1 : page; QueryContainer main_query = new QueryContainer(new BoolQuery() { Must = mustQuery, MustNot = mustNotQuery }); SearchRequest request = new SearchRequest { Query = main_query, Size = recs, From = (page - 1) * recs }; var results = client.Search <PhanQuyen>(request); total = results.Total; return(results.Documents.ToList()); } catch { } return(new List <PhanQuyen>()); }