コード例 #1
0
        public IHttpActionResult ObterLista(int idPedido, [FromUri] FiltroListaDto filtro)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarIdPedido(sessao, idPedido);

                if (validacao != null)
                {
                    return(validacao);
                }

                filtro = filtro ?? new FiltroListaDto();

                try
                {
                    var ambientes = AmbientePedidoDAO.Instance.GetList(
                        (uint)idPedido,
                        filtro.ObterTraducaoOrdenacao(),
                        filtro.ObterPrimeiroRegistroRetornar(),
                        filtro.NumeroRegistros);

                    return(this.ListaPaginada(
                               ambientes.Where(a => a.IdAmbientePedido > 0).Select(a => new ListaDto(a)),
                               filtro,
                               () => AmbientePedidoDAO.Instance.GetCount((uint)idPedido)));
                }
                catch (Exception e)
                {
                    return(this.ErroValidacao(string.Format("Erro ao recuperar ambientes do pedido {0}.", idPedido), e));
                }
            }
        }
コード例 #2
0
        public IHttpActionResult ObterLista(int idPedido, [FromUri] FiltroListaDto filtro)
        {
            using (var sessao = new GDATransaction())
            {
                filtro = filtro ?? new FiltroListaDto();
                var validacao = this.ValidarIdsPedidoEAmbiente(sessao, idPedido, filtro.IdAmbiente);

                if (validacao != null)
                {
                    return(validacao);
                }

                try
                {
                    var produtos = ProdutosPedidoDAO.Instance.GetList(
                        (uint)idPedido,
                        (uint)filtro.IdAmbiente.GetValueOrDefault(),
                        filtro.IdProdutoPai > 0,
                        (uint)filtro.IdProdutoPai.GetValueOrDefault(),
                        filtro.ObterTraducaoOrdenacao(),
                        filtro.ObterPrimeiroRegistroRetornar(),
                        filtro.NumeroRegistros);

                    return(this.ListaPaginada(
                               produtos.Where(p => p.IdProdPed > 0).Select(p => new ListaDto(sessao, p)),
                               filtro,
                               () => ProdutosPedidoDAO.Instance.GetCount(
                                   (uint)idPedido,
                                   (uint)filtro.IdAmbiente.GetValueOrDefault(),
                                   filtro.IdProdutoPai > 0,
                                   (uint)filtro.IdProdutoPai.GetValueOrDefault())));
                }
                catch (Exception e)
                {
                    return(this.ErroValidacao(string.Format("Erro ao recuperar produtos do pedido {0}.", idPedido), e));
                }
            }
        }