Exemplo n.º 1
0
        protected QueryFilterOptions BuildQueryFilterOptions(ODataQuery options)
        {
            var queryOptions = new QueryFilterOptions()
            {
                PagingOptions = options.PagingOptions
            };

            return(queryOptions);
        }
Exemplo n.º 2
0
        public IPagedList <LocationDto> Search(Filter[] filters, QueryFilterOptions queryOptions = null)
        {
            using (var context = this._dbContext())
            {
                var query = from o in context.Locations
                            where !o.IsDeleted
                            select new LocationDto
                {
                    Id        = o.Id,
                    Name      = o.Name,
                    CreatedOn = o.CreatedOn
                };

                foreach (var item in filters)
                {
                    if (!string.IsNullOrEmpty(item.Value))
                    {
                        switch (item.Attribute.ToLower())
                        {
                        case "name":
                            switch (item.Operator)
                            {
                            case FilterOperator.lk:
                                query = query.Where(o => o.Name.Contains(item.Value));
                                break;

                            case FilterOperator.eq:
                                query = query.Where(o => o.Name.Equals(item.Value));
                                break;

                            case FilterOperator.ne:
                                query = query.Where(o => !o.Name.Equals(item.Value));
                                break;

                            default:
                                break;
                            }
                            break;

                        default:
                            break;
                        }
                    }
                }

                queryOptions.OrderByOptions.Name = queryOptions.OrderByOptions.Name ?? "CreatedOn";
                query = PagedListUtil.BuildOrderExpression <LocationDto, DateTime>(query, queryOptions.OrderByOptions.Name, queryOptions.OrderByOptions.Ascending);
                var queryPaged = query.ToPagedList(queryOptions.PagingOptions.PageNumber, queryOptions.PagingOptions.PageSize);

                return(queryPaged);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Método responsável por adicionar a configuração do hisoka
        /// </summary>
        /// <param name="mvcBuilder"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public static IMvcBuilder AddHisoka(this IMvcBuilder mvcBuilder, Action <HisokaOptions> options = null)
        {
            var option = new HisokaOptions();

            options?.Invoke(option);
            QueryFilterOptions.ApplyConfig(option);

            mvcBuilder.AddMvcOptions(opt =>
            {
                opt.ModelBinderProviders.Insert(0, new HisokaModelBinderProvider());
            });

            return(mvcBuilder);
        }
Exemplo n.º 4
0
 public DataContext(QueryFilterOptions queryFilterOptions,
                    IDbConnectionPoolManager poolManager = null) : base(queryFilterOptions)
 {
     _poolManager = poolManager;
 }
Exemplo n.º 5
0
 public BaseDbContext(DbContextOptions options,
                      IOptionsSnapshot <QueryFilterOptions> queryFilterOptions = null) : base(options)
 {
     this.queryFilterOptions = queryFilterOptions?.Value ?? new QueryFilterOptions();
     dbConnection            = Database.GetDbConnection();
 }
Exemplo n.º 6
0
 public BaseDbContext(QueryFilterOptions queryFilterOptions) : base()
 {
     this.queryFilterOptions = queryFilterOptions ?? new QueryFilterOptions();
     dbConnection            = Database.GetDbConnection();
 }
Exemplo n.º 7
0
 public BaseDbContext() : base()
 {
     queryFilterOptions = new QueryFilterOptions();
     dbConnection       = Database.GetDbConnection();
 }
Exemplo n.º 8
0
 public DataContext(QueryFilterOptions queryFilterOptions) : base(queryFilterOptions)
 {
 }