コード例 #1
0
        public JsonResult AddSolicitacao(NovaSolicitacaoViewModel novaSolicitacaoViewModel)
        {
            var requisicao = new AbrirUmaSolicitacaoRequisicao
            {
                CodigoDoResponsavel       = User.ToPessoa().Codigo,
                CodigoDoTipoDaSolicitacao = novaSolicitacaoViewModel.CodigoDoTipoDaSolicitacao,
                Descricao        = novaSolicitacaoViewModel.Solicitacao,
                Protocolo        = novaSolicitacaoViewModel.Protocolo,
                CodigoDoPrograma = Session.ProgramaAtivo().Codigo
            };
            var resposta = _solicitacaoServicoDeAplicacao.AbrirUmaSolicitacao(requisicao);

            return(Json(new { resposta.Sucesso, resposta.Erros, Solicitacao = resposta.Solicitacao.ToViewModel() }));
        }
        public AbrirUmaSolicitacaoResposta AbrirUmaSolicitacao(AbrirUmaSolicitacaoRequisicao requisicao)
        {
            var resposta = new AbrirUmaSolicitacaoResposta();

            try
            {
                var tipoDaSolicitacao = _tipoDaSolicitacaoRepositorio.ObterPor(requisicao.CodigoDoTipoDaSolicitacao);
                var responsavel       = _pessoaRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
                var programa          = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma);
                var solicitacao       = _solicitacaoServico.RealizarAbertura(tipoDaSolicitacao, responsavel, requisicao.Protocolo, requisicao.Descricao, programa);
                _solicitacaoRepositorio.Adicionar(solicitacao);
                _unitOfWork.Commit();
                resposta.Solicitacao = solicitacao;
                resposta.Sucesso     = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }
            return(resposta);
        }