internal void ModificaStatus(WorkflowAprovacaoNivelStatus status, string observacao) { if ((status == WorkflowAprovacaoNivelStatus.Reprovado) && (string.IsNullOrEmpty(observacao))) { throw new NegocioException("Para recusar é obrigatório informar uma observação."); } this.Observacao = observacao; this.Status = status; }
private NotificacaoStatus RetornaStatusPorNivelStatus(WorkflowAprovacaoNivelStatus status) { switch (status) { case WorkflowAprovacaoNivelStatus.Aprovado: return(NotificacaoStatus.Aceita); case WorkflowAprovacaoNivelStatus.Reprovado: return(NotificacaoStatus.Reprovada); default: throw new NegocioException("Não foi possível atualizar o status da notificação."); } }
public IEnumerable <WorkflowAprovacaoNivel> ModificarStatusPorNivel(WorkflowAprovacaoNivelStatus status, int nivelNumero, string observacao) { var niveisWf = ObtemNiveis(nivelNumero); foreach (var nivel in niveisWf) { nivel.ModificaStatus(status, observacao); foreach (var notificacao in nivel.Notificacoes) { notificacao.Status = RetornaStatusPorNivelStatus(status); } yield return(nivel); } }