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 IsExistQuyen(string user, int group, PhanQuyenObjType obj_type, string obj_id, string owner, List <int> quyen) { DataResponse res = new DataResponse(); try { res.data = QLCUNL.BL.PhanQuyenBL.IsExistQuyen(user, group, obj_type, obj_id, owner, quyen); res.success = true; } catch (Exception ex) { res.msg = ex.StackTrace; res.success = false; } return(Ok(res)); }
public IActionResult GetQuyenActive(string user, int group, PhanQuyenObjType obj_type, string quyen) { string[] fields = new string[] { }; DataResponse res = new DataResponse(); try { res.data = QLCUNL.BL.PhanQuyenBL.GetQuyenActive(user, group, obj_type, quyen.Split(',').Select(x => Convert.ToInt32(x)), fields); res.success = true; } catch (Exception ex) { res.msg = ex.StackTrace; res.success = false; } return(Ok(res)); }
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 bool IsExistQuyen(string user, int group, PhanQuyenObjType obj_type, string obj_id, string owner, List <int> quyen) { try { var res = client.Search <PhanQuyen>(s => s .Query(q => q.Term(t => t.Field("obj_type").Value(obj_type)) && q.LongRange(r => r.Field("ngay_het").GreaterThan(XMedia.XUtil.TimeInEpoch(DateTime.Now))) && (( q.Term(t => t.Field("rule").Value(PhanQuyenRule.OBJECT)) && q.Term(t => t.Field("obj_id.keyword").Value(obj_id)) && q.Terms(t => t.Field("quyen").Terms(quyen)) && ((q.Term(t => t.Field("type").Value(PhanQuyenType.USERS)) && q.Term(t => t.Field("user.keyword").Value(user))) || (q.Term(t => t.Field("type").Value(PhanQuyenType.GROUP_USERS)) && q.Term(t => t.Field("user.keyword").Value(group))) )) || (q.Term(t => t.Field("rule").Value(PhanQuyenRule.USER)) && q.Term(t => t.Field("obj_id.keyword").Value(owner)) && ((q.Term(t => t.Field("type").Value(PhanQuyenType.USERS)) && q.Term(t => t.Field("user.keyword").Value(user))) || (q.Term(t => t.Field("type").Value(PhanQuyenType.GROUP_USERS)) && q.Term(t => t.Field("user.keyword").Value(group))) ) ) ) ).Size(0)); return(res.Total > 0); } catch { } return(false); }
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>()); }
public List <PhanQuyen> GetQuyenActive(string user, int group, PhanQuyenObjType obj_type, IEnumerable <int> quyen, string[] fields = null) { List <PhanQuyen> lst = new List <PhanQuyen>(); List <QueryContainer> must = new List <QueryContainer>(); if (string.IsNullOrEmpty(user)) { return(lst); } try { must.Add(new TermQuery() { Field = "obj_type", Value = obj_type } && new LongRangeQuery() { Field = "ngay_het", GreaterThan = XMedia.XUtil.TimeInEpoch(DateTime.Now) } && ( (new TermQuery() { Field = "rule", Value = PhanQuyenRule.OBJECT } && new TermsQuery() { Field = "quyen", Terms = quyen.Select(x => (object)x) } && ((new TermQuery() { Field = "type", Value = PhanQuyenType.USERS } && new TermQuery() { Field = "user.keyword", Value = user }) || (new TermQuery() { Field = "type", Value = PhanQuyenType.GROUP_USERS } && new TermQuery() { Field = "user.keyword", Value = group })) ) || (new TermQuery() { Field = "rule", Value = PhanQuyenRule.USER } && (new TermQuery() { Field = "type", Value = PhanQuyenType.USERS } && new TermQuery() { Field = "user.keyword", Value = user }) || (new TermQuery() { Field = "type", Value = PhanQuyenType.GROUP_USERS } && new TermQuery() { Field = "user.keyword", Value = group }) ) ) ); SourceFilter so = new SourceFilter(); if (fields != null && fields.Length > 0) { so.Includes = fields; } /* * SearchRequest req = new SearchRequest(_default_index); * req.Query = new QueryContainer(new BoolQuery() { Must = must}); * req.From = 0; * req.Size = 9999; * if (fields != null) * req.Source = new SourceFilter() { Includes = fields }; * * var res = client.Search<PhanQuyen>(req); * * lst = res.Documents.ToList(); */ lst = GetObjectScroll <PhanQuyen>(_default_index, new QueryContainer(new BoolQuery() { Must = must }), so).ToList(); } catch { } finally { } return(lst); }
public static bool IsExistQuyen(string user, int group, PhanQuyenObjType obj_type, string obj_id, string owner, List <int> quyen) { return(PhanQuyenRepository.Instance.IsExistQuyen(user, group, obj_type, obj_id, owner, quyen)); }
public static List <PhanQuyen> GetQuyenActive(string user, int group, PhanQuyenObjType obj_type, IEnumerable <int> quyen, string[] fields = null) { return(PhanQuyenRepository.Instance.GetQuyenActive(user, group, obj_type, quyen, fields)); }