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