public Solicitacao RealizarAprovacao(Solicitacao solicitacao, Cliente responsavel, bool aprovado, string observacoes, Programa programa)
 {
     if (solicitacao.Situacao == SituacaoDaSolicitacao.Aprovacao)
     {
         if (responsavel == null)
             solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.SomenteUmClientePodeAprovar);
         var aprovacao = new AprovacaoDeSolicitacao
                             {
                                 Aprovado = aprovado,
                                 DataDeAprovacao = SystemTime.Now,
                                 Observacoes = observacoes,
                                 Responsavel = responsavel,
                                 Programa = programa
                             };
         solicitacao.Aprovacao = aprovacao;
         solicitacao.Situacao = aprovado ? SituacaoDaSolicitacao.Processo : SituacaoDaSolicitacao.Cancelado;
         return solicitacao;
     }
     solicitacao.AdicionarRegraQuebrada(RegrasDeNegocioSolicitacao.DeveEstarComSituacaoParaAprovacao);
     return solicitacao;
 }
Beispiel #2
0
 public Solicitacao RealizarAprovacao(Solicitacao solicitacao, Cliente responsavel, bool aprovado, string observacoes, Programa programa)
 {
     if (solicitacao.Situacao == SituacaoDaSolicitacao.Aprovacao)
     {
         if (responsavel == null)
         {
             solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.SomenteUmClientePodeAprovar);
         }
         var aprovacao = new AprovacaoDeSolicitacao
         {
             Aprovado        = aprovado,
             DataDeAprovacao = SystemTime.Now,
             Observacoes     = observacoes,
             Responsavel     = responsavel,
             Programa        = programa
         };
         solicitacao.Aprovacao = aprovacao;
         solicitacao.Situacao  = aprovado ? SituacaoDaSolicitacao.Processo : SituacaoDaSolicitacao.Cancelado;
         return(solicitacao);
     }
     solicitacao.AdicionarRegraQuebrada(RegrasDeNegocioSolicitacao.DeveEstarComSituacaoParaAprovacao);
     return(solicitacao);
 }