public Solicitacao RealizarAnalise(Solicitacao solicitacao, Funcionario responsavel, bool clientePrecisaAprovar, string atividade, decimal custo, int diasParaEntrega, string analiseRealizada, Programa programa)
 {
     if (solicitacao.Situacao == SituacaoDaSolicitacao.Analise)
     {
         if (responsavel == null)
             solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.SomenteUmFuncionaroPodeAnalisar);
         var analise = new AnaliseDeSolicitacao
                           {
                               Atividade = atividade,
                               Custo = custo,
                               Analise = analiseRealizada,
                               DataDaAnalise = SystemTime.Now,
                               DiasParaEntrega = diasParaEntrega,
                               Responsavel = responsavel,
                               Programa = programa
                           };
         solicitacao.Situacao = clientePrecisaAprovar
                                    ? SituacaoDaSolicitacao.Aprovacao
                                    : SituacaoDaSolicitacao.Processo;
         solicitacao.Analise = analise;
         return solicitacao;
     }
     solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.DeveEstarComSituacaoEmAnalise);
     return solicitacao;
 }
示例#2
0
 public Solicitacao RealizarAnalise(Solicitacao solicitacao, Funcionario responsavel, bool clientePrecisaAprovar, string atividade, decimal custo, int diasParaEntrega, string analiseRealizada, Programa programa)
 {
     if (solicitacao.Situacao == SituacaoDaSolicitacao.Analise)
     {
         if (responsavel == null)
         {
             solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.SomenteUmFuncionaroPodeAnalisar);
         }
         var analise = new AnaliseDeSolicitacao
         {
             Atividade       = atividade,
             Custo           = custo,
             Analise         = analiseRealizada,
             DataDaAnalise   = SystemTime.Now,
             DiasParaEntrega = diasParaEntrega,
             Responsavel     = responsavel,
             Programa        = programa
         };
         solicitacao.Situacao = clientePrecisaAprovar
                                    ? SituacaoDaSolicitacao.Aprovacao
                                    : SituacaoDaSolicitacao.Processo;
         solicitacao.Analise = analise;
         return(solicitacao);
     }
     solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.DeveEstarComSituacaoEmAnalise);
     return(solicitacao);
 }