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; }
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); }