Example #1
0
 /// <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);
Example #2
0
        /// <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;
 }
Example #5
0
 public CronogramaTarefaDecoratorBuilder(CronogramaTarefaDecorator tarefa)
 {
     tarefaAtual = tarefa;
 }
Example #6
0
 public CronogramaTarefaDecoratorBuilder()
 {
     tarefaAtual = new CronogramaTarefaDecorator();
 }