public JsonResult SalvarAnaliseDeSolicitacao(AnaliseDeSolicitacaoViewModel viewModel)
        {
            var requisicao = new RealizarAnalizeDeUmaSolicitacaoRequisicao
            {
                Atividade             = viewModel.Atividade,
                ClientePrecisaAprovar = viewModel.AprovacaoDoCliente,
                Custo               = viewModel.Custo,
                DiasParaEntrega     = viewModel.DiasParaEntrega,
                CodigoDaSolicitacao = viewModel.Codigo,
                CodigoDoResponsavel = User.ToPessoa().Codigo,
                Analise             = viewModel.Analise,
                CodigoDoPrograma    = Session.ProgramaAtivo().Codigo
            };
            var resposta = _solicitacaoServicoDeAplicacao.RealizarAnalizeDeUmaSolicitacao(requisicao);

            return(Json(new { resposta.Sucesso, resposta.Erros, Solicitacao = resposta.Solicitacao != null ? resposta.Solicitacao.ToViewModel() : null }));
        }
        public RealizarAnalizeDeUmaSolicitacaoResposta RealizarAnalizeDeUmaSolicitacao(RealizarAnalizeDeUmaSolicitacaoRequisicao requisicao)
        {
            var resposta = new RealizarAnalizeDeUmaSolicitacaoResposta();

            try
            {
                var solicitacao = _solicitacaoRepositorio.ObterPor(requisicao.CodigoDaSolicitacao);
                var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
                var programa    = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);
                solicitacao = _solicitacaoServico.RealizarAnalise(solicitacao, responsavel, requisicao.ClientePrecisaAprovar,
                                                                  requisicao.Atividade, requisicao.Custo, requisicao.DiasParaEntrega, requisicao.Analise, programa);
                _unitOfWork.Commit();
                resposta.Solicitacao = solicitacao;
                resposta.Sucesso     = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }

            return(resposta);
        }