public IEnumerable <ListarSolicitacaoResponse> ListarSolicitacaoCliente(ListarSolicitacaoRequest request) { if (request == null) { AddNotification("Resquest", "Invalido"); return(null); } if (_repositoryUsuario.Existe(x => x.Id == request.Id && x.ClienteOuFornecedor == Enums.EnumClienteOuFornecedor.Fornecedor)) { AddNotification("Listar SolicitacaoCliente", "Funcionalidade disponivel apenas p/ Cliente"); return(null); } var filtroSolicitacao = new Solicitacao(request.Id.Value, request.DataInicio, request.DataFim); AddNotifications(filtroSolicitacao); if (IsInvalid()) { return(null); } var solicitacaoCollection = _repositorySolicitacao.ListarPor(x => x.EmpresaSolicitante.Id == filtroSolicitacao.Id && x.DataSolicitacao.Value.Date >= filtroSolicitacao.DataInicio.Date && x.DataSolicitacao.Value.Date <= filtroSolicitacao.DataFim.Date, c => c.EmpresaSolicitante).ToList(); var solicitacaoCompleta = _repositorySolicitacao.ListarOrcamentoReferenteSolicitacao(solicitacaoCollection); var response = solicitacaoCompleta.ToList().Select(entidade => (ListarSolicitacaoResponse)entidade).ToList(); return(response); }
public async Task <IActionResult> ListarSolicitacao(ListarSolicitacaoRequest request) { try { string usuarioClaims = _httpContextAccessor.HttpContext.User.FindFirst("Usuario").Value; AutenticarUsuarioResponse usuarioResponse = JsonConvert.DeserializeObject <AutenticarUsuarioResponse>(usuarioClaims); request.Id = usuarioResponse.Id; var response = _serviceSolicitacao.ListarSolicitacaoCliente(request); return(await ResponseAsync(response, _serviceSolicitacao)); } catch (System.Exception ex) { return(await ResponseExceptionAsync(ex)); } }