示例#1
0
        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);
        }
示例#2
0
        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));
            }
        }