Пример #1
0
        public IQueryable <Produto> GetByFilters(ProdutoFilter filters)
        {
            var querybase = this.GetAll();

            var queryFilter = this.SimpleFilters(filters, querybase);

            return(queryFilter);
        }
 public ActionResult <ResultModel <Produto> > GetList([FromQuery] ProdutoFilter filter)
 {
     using (var business = new ProdutoBusiness())
     {
         filter.ProcessQueryString(Request.Query);
         var data = business.GetList(filter);
         return(data);
     }
 }
Пример #3
0
        public ResultModel <Produto> GetById(ProdutoFilter filter)
        {
            var query = Search(filter.Id);

            var data = new ResultModel <Produto>();

            data.Items.Add(query);

            return(data);
        }
Пример #4
0
        protected IQueryable <Produto> SimpleFilters(ProdutoFilter filters, IQueryable <Produto> queryBase)
        {
            var queryFilter = queryBase;

            if (filters.ProdutoId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.ProdutoId == filters.ProdutoId);
            }
            if (filters.AssinaturaId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.AssinaturaId != null && _.AssinaturaId.Value == filters.AssinaturaId);
            }
            if (filters.Codigo.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Codigo.Contains(filters.Codigo));
            }
            if (filters.Nome.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Nome.Contains(filters.Nome));
            }
            if (filters.Ativo.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Ativo == filters.Ativo);
            }
            if (filters.DataCadastroStart.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.DataCadastro >= filters.DataCadastroStart);
            }
            if (filters.DataCadastroEnd.IsSent())
            {
                filters.DataCadastroEnd = filters.DataCadastroEnd.AddDays(1).AddMilliseconds(-1);
                queryFilter             = queryFilter.Where(_ => _.DataCadastro <= filters.DataCadastroEnd);
            }

            if (filters.VisibilidadeId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.VisibilidadeId == filters.VisibilidadeId);
            }
            if (filters.Preco.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Preco == filters.Preco);
            }
            if (filters.Unidade.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Unidade.Contains(filters.Unidade));
            }
            if (filters.ValorImpostos.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.ValorImpostos == filters.ValorImpostos);
            }


            return(queryFilter);
        }
Пример #5
0
        public async Task <IActionResult> Get([FromQuery] ProdutoFilter filters)
        {
            var result = new HttpResult <ProdutoDto>(this._logger, this._service);

            try
            {
                var searchResult = await this._service.GetByFiltersPaging(filters);

                return(result.ReturnCustomResponse(searchResult));
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Produto", filters));
            }
        }
Пример #6
0
        public async Task <IActionResult> DataItems([FromQuery] ProdutoFilter filters)
        {
            var result = new HttpResult <dynamic>(this._logger, this._service);

            try
            {
                var items = await this._service.GetDataItems(filters);

                return(result.ReturnCustomResponse(items));
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Assinatura", filters));
            }
        }
        public IActionResult AllProdutos([FromQuery] ProdutoFilter filtro,
                                         [FromQuery] ProdutoOrdem ordem,
                                         [FromQuery] ProdutoPaginacao paginacao)
        {
            var lista = _repo.AllProdutos
                        .AplicaFiltro(filtro)
                        .AplicaOrdenacao(ordem);

            var listaPaginada = Paginacao.From(paginacao, lista);

            if (listaPaginada.ListaItens.Count == 0)
            {
                return(NotFound());
            }
            return(Ok(listaPaginada));
        }
Пример #8
0
        public async Task <IActionResult> Get(int id, [FromQuery] ProdutoFilter filters)
        {
            var result = new HttpResult <ProdutoDto>(this._logger, this._service);

            try
            {
                filters.ProdutoId = id;
                var returnModel = await this._service.GetById(filters);

                return(result.ReturnCustomResponse(returnModel));
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Produto", id));
            }
        }
Пример #9
0
        public ResultModel <Produto> GetList(ProdutoFilter filter, string sortDir = "asc", int sortCol = 0)
        {
            var query = GetAll();


            if (sortDir.ToLower() == "asc")
            {
                switch (sortCol)
                {
                case 0:
                    query = query.OrderBy(x => x.Nome);
                    break;
                }
            }
            else
            {
                switch (sortCol)
                {
                case 0:
                    query = query.OrderByDescending(x => x.Nome);
                    break;
                }
            }

            //94057206515
            var data = new ResultModel <Produto>();

            if (query.Any())
            {
                var total = query.LongCount();

                var quantidadePaginas = (double)total / (double)filter.ResultPagesModel.Offset;

                query = query.Skip(filter.ResultPagesModel.Actual.ToInt32()).Take(filter.ResultPagesModel.Offset.ToInt32());

                data.Items = query.ToList();

                data.Pages.TotalItems = total;
                data.Pages.Total      = (long)Math.Ceiling(quantidadePaginas);//;
                data.Pages.Actual     = filter.ResultPagesModel.Actual;
                data.Pages.Offset     = filter.ResultPagesModel.Offset == int.MaxValue ? total : filter.ResultPagesModel.Offset;
            }

            return(data);
        }
Пример #10
0
        public virtual IEnumerable <dynamic> GetDataItems(ProdutoFilter filters)
        {
            var querybase = this.GetAll();

            return(this.GetAll().Select(_ => new { Id = _.ProdutoId, Name = _.Codigo }));
        }
Пример #11
0
        public Produto GetById(ProdutoFilter filters)
        {
            var querybase = this.GetByFilters(filters);

            return(querybase.SingleOrDefault());
        }
Пример #12
0
 public GetProdutoCommand(IRepository <Produto, int, ProdutoFilter> Repository, ProdutoFilter Filter)
 {
     _repository = Repository;
     _filter     = Filter;
 }