public IActionResult AprovarSolicitacao(int solicitacaoId)
        {
            Solicitacao solicitacao = _solicitacaoRepository.FindById(solicitacaoId);

            if (solicitacao == null)
            {
                return(NotFound("Solicitação não encontrada."));
            }
            if (solicitacao.Status != StatusSolicitacao.Pendente)
            {
                return(BadRequest("O status da solicitação é invalido para a operação solicitada."));
            }

            solicitacao.AprovarSolicitacaoParaOrcamentacao();
            _solicitacaoRepository.Save(solicitacao);

            return(Ok());
        }
Esempio n. 2
0
        public IActionResult Orcamentos(int?id)
        {
            if (id.HasValue == false)
            {
                return(BadRequest());
            }

            Solicitacao solicitacao = _repository.FindById(id.Value, includeProduto: true, includeSolicitante: true, includeOrcamentos: true);

            OrcamentoViewModel vm = new OrcamentoViewModel();

            vm.Produto                 = solicitacao.Produto;
            vm.Solicitacao             = solicitacao;
            vm.Solicitante             = solicitacao.Solicitante.Nome;
            vm.Orcamentos              = _orcamentosRepository.GetOrcamentosDaSolicitacao(id.Value);
            vm.FornecedoresDisponiveis = _fornecedoresRepository.ListAll();

            ViewBag.FornecedoresDisponiveis = new MultiSelectList(
                vm.FornecedoresDisponiveis,
                nameof(Fornecedor.Id),
                nameof(Fornecedor.RazaoSocial));

            return(PartialView("_Orcamentos", vm));
        }