Esempio n. 1
0
 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));
        }
Esempio n. 3
0
        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>());
        }