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)); } } }
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)); } } }