public RealizarProcessoDeUmaSolicitacaoResposta RealizarProcessoDeUmaSolicitacao(RealizarProcessoDeUmaSolicitacaoRequisicao requisicao)
 {
     var resposta = new RealizarProcessoDeUmaSolicitacaoResposta();
     try
     {
         var solicitacao = _solicitacaoRepositorio.ObterPor(requisicao.CodigoDaSolicitacao);
         var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
         var programa = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);
         solicitacao = _solicitacaoServico.RealizarProcesso(solicitacao, responsavel, requisicao.Solucao, requisicao.Observacoes, programa);
         _unitOfWork.Commit();
         resposta.Solicitacao = solicitacao;
         resposta.Sucesso = true;
     }
     catch (RegraException regraException)
     {
         resposta.Erros = regraException.Erros;
     }
     return resposta;
 }
        public JsonResult SalvarProcessoDeSolicitacao(ProcessoDeSolicitacaoViewModel viewModel)
        {
            var requisicao = new RealizarProcessoDeUmaSolicitacaoRequisicao
            {
                Observacoes = viewModel.Observacao,
                CodigoDaSolicitacao = viewModel.Codigo,
                CodigoDoResponsavel = User.ToPessoa().Codigo,
                Solucao = viewModel.Solucao,
                CodigoDoPrograma = Session.ProgramaAtivo().Codigo
            };
            var resposta = _solicitacaoServicoDeAplicacao.RealizarProcessoDeUmaSolicitacao(requisicao);

            return Json(new { resposta.Sucesso, resposta.Erros, Solicitacao = resposta.Solicitacao != null ? resposta.Solicitacao.ToViewModel() : null });
        }