public RealizarEntregaDeUmaSolicitacaoResposta RealizarEntregaDeUmaSolicitacao(RealizarEntregaDeUmaSolicitacaoRequisicao requisicao)
 {
     var resposta = new RealizarEntregaDeUmaSolicitacaoResposta();
     try
     {
         var solicitacao = _solicitacaoRepositorio.ObterPor(requisicao.CodigoDaSolicitacao);
         var responsavel = _clienteRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
         var programa = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);
         solicitacao = _solicitacaoServico.RealizarEntrega(solicitacao, responsavel, requisicao.Aceita, requisicao.Observacoes, programa);
         _unitOfWork.Commit();
         resposta.Solicitacao = solicitacao;
         resposta.Sucesso = true;
     }
     catch (RegraException regraException)
     {
         resposta.Erros = regraException.Erros;
     }
     return resposta;
 }
        public JsonResult SalvarEntregaDeSolicitacao(EntregaDaSolicitacaoViewModel viewModel)
        {
            var requisicao = new RealizarEntregaDeUmaSolicitacaoRequisicao
            {
                Observacoes = viewModel.Observacao,
                CodigoDaSolicitacao = viewModel.Codigo,
                CodigoDoResponsavel = User.ToPessoa().Codigo,
                Aceita = viewModel.Aceita,
                CodigoDoPrograma = Session.ProgramaAtivo().Codigo
            };

            var resposta = _solicitacaoServicoDeAplicacao.RealizarEntregaDeUmaSolicitacao(requisicao);

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