/// <summary> /// Método responsável por validar a regra quando for alterado para Execucao /// </summary> /// <param name="decorator">Objeto Tarefa</param> /// <param name="situacaoPlanejamento">Situação planejamento desejada</param> /// <returns>Validação</returns> protected abstract CsSituacaoPlanejamentoTipoRetorno AlterarParaExecucao(CronogramaTarefaDecorator decorator, SituacaoPlanejamentoDTO situacaoPlanejamento);
/// <summary> /// Método para validar se a situação planejamento de uma tarefa é válida /// </summary> /// <param name="tipo">Tipo de situação planejamento</param> /// <param name="situacoesPlanejamento">lista das situações planejamento existentes</param> /// <param name="horaRealizada">Esforco realizado</param> /// <param name="horasRestantes">Esforço restante</param> /// <param name="tarefa">Tarefa</param> /// <returns></returns> public static bool ValidarSituacaoPlanejamento(CsTipoPlanejamento tipo, List <SituacaoPlanejamentoDTO> situacoesPlanejamento, TimeSpan horaRealizada, TimeSpan horaRestante, CronogramaTarefaDecorator tarefa) { SituacaoPlanejamentoDTO situacao = situacoesPlanejamento.FirstOrDefault(o => o.CsTipo == tipo); if (situacao == null) { return(false); } TimeSpan horasRealizadas = tarefa.Realizado; horasRealizadas += horaRealizada; switch (situacao.CsTipo) { case CsTipoPlanejamento.Encerramento: return(horasRealizadas > TimeSpan.Zero && horaRestante <= TimeSpan.Zero); case CsTipoPlanejamento.Execução: return(horaRestante > TimeSpan.Zero); case CsTipoPlanejamento.Planejamento: return(horasRealizadas == TimeSpan.Zero); case CsTipoPlanejamento.Cancelamento: return(horaRestante == TimeSpan.Zero); case CsTipoPlanejamento.Impedimento: //Não há regras para ir para impedimento return(true); } return(false); }
/// <summary> /// Método responsável por acessar o presenter e inicializar os valores do popup. /// </summary> /// <param name="cronogramaTarefaItem">Objeto Dto de CronogramaTarefa</param> /// <param name="login">Login do usuário</param> /// <param name="situacoesPlanejamento">Lista contendo todas as situações de planejamento</param> public void InicializarJanela(CronogramaTarefaDecorator cronogramaTarefaItem, string login, Guid oidSituacaoPlanejamento) { presenter.InicializarHistoricoTarefa(cronogramaTarefaItem, login, oidSituacaoPlanejamento, true); FoiInicializado = true; }
/// <summary> /// Método responsável por acessar o presenter e inicializar os valores do popup. /// </summary> /// <param name="cronogramaTarefaItem">Objeto Dto de CronogramaTarefa</param> /// <param name="login">Login do usuário</param> /// <param name="situacoesPlanejamento">Lista contendo todas as situações de planejamento</param> public void InicializarJanela(CronogramaTarefaDecorator cronogramaTarefaItem, string login) { presenter.InicializarHistoricoTarefa(cronogramaTarefaItem, login); popupNbHoraRealizado.Focus(); FoiInicializado = true; }
public CronogramaTarefaDecoratorBuilder(CronogramaTarefaDecorator tarefa) { tarefaAtual = tarefa; }
public CronogramaTarefaDecoratorBuilder() { tarefaAtual = new CronogramaTarefaDecorator(); }