Exemplo n.º 1
0
        /// <summary>
        /// Método responsável por validar e alterar a situação planejamento, quando outros campos influenciarem a situação de planejamento, de acordo com a hora restante e hora realizado.
        /// </summary>
        public virtual void CalcularSituacaoPlanejamento(ref Guid oidSituacaoPlanejamento)
        {
            SituacaoPlanejamentoDTO situacaoPlanejamentoAtual = GetSituacaoPlajenamentoAtual();

            if (ValidarSituacaoPlanejamento(situacaoPlanejamentoAtual.CsTipo))
            {
                return;
            }

            if (ValidarSituacaoPlanejamento(CsTipoPlanejamento.Planejamento))
            {
                view.OidSituacaoPlanejamento = GetOidSituacaoPlanejamentoTipoPlanejamento();
                return;
            }

            if (ValidarSituacaoPlanejamento(CsTipoPlanejamento.Execução))
            {
                view.OidSituacaoPlanejamento = GetOidSituacaoPlanejamentoTipoExecucao();
                return;
            }

            if (ValidarSituacaoPlanejamento(CsTipoPlanejamento.Encerramento))
            {
                view.OidSituacaoPlanejamento = GetOidSituacaoPlanejamentoTipoEncerramento();
                return;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Método responsável por inicializar os valores dos campos do popup a partir do último histórico de uma tarefa, caso não tenha inicializa valores padrões.
        /// </summary>
        /// <param name="oidCronogramaTarefa">Oid da Tarefa</param>
        /// <param name="nbEstimativaInicial">Estimativa Inicial (Hora) da tarefa</param>
        /// <param name="oidSituacaoPlanejamento">oid da situação planejamento que foi setado</param>
        public virtual void InicializarHistoricoTarefa(CronogramaTarefaDecorator cronogramaTarefaDto, string login, Guid oidSituacaoPlanejamento, bool aoIniciarView = false)
        {
            InicializarHistoricoTarefa(cronogramaTarefaDto, login);
            SituacaoPlanejamentoDTO situacaoPlanejamento = situacoesPlanejamento.First(o => o.Oid.Equals(oidSituacaoPlanejamento));

            switch (situacaoPlanejamento.CsTipo)
            {
            case CsTipoPlanejamento.Encerramento:
                SetarTarefaComoEmEncerramento(aoIniciarView);
                break;

            case CsTipoPlanejamento.Execução:
                SetarTarefaComoEmExecucao(aoIniciarView);
                break;

            case CsTipoPlanejamento.Impedimento:
                SetarTarefaComoEmImpedimento(aoIniciarView);
                break;

            case CsTipoPlanejamento.Planejamento:
                SetarTarefaComoEmPlanejamento(aoIniciarView);
                break;

            case CsTipoPlanejamento.Cancelamento:
                SetarTarefaComoEmCancelamento();
                break;

            default:
                return;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Método responsável por iniciar e chamar outras validações para situação planejamento
        /// </summary>
        /// <param name="oidSituacaoPlanejamentoAlterada">Oid situação planejamento desejada</param>
        /// <param name="decorator">Objeto Tarefa</param>
        /// <returns>Validação</returns>
        public override CsSituacaoPlanejamentoTipoRetorno Executar(Guid oidSituacaoPlanejamentoAlterada, CronogramaTarefaDecorator decorator)
        {
            SituacaoPlanejamentoDTO situacaoAlterada = GetSituacaoPlanejamentoSelecionada(oidSituacaoPlanejamentoAlterada);

            if (situacaoAlterada.Oid == decorator.OidSituacaoPlanejamentoTarefa)
            {
                situacaoController.ForcarFimEdicao();
            }

            switch (situacaoAlterada.CsTipo)
            {
            case CsTipoPlanejamento.Encerramento:
                return(AlterarParaEncerramento(decorator, situacaoAlterada));

            case CsTipoPlanejamento.Execução:
                return(AlterarParaExecucao(decorator, situacaoAlterada));

            case CsTipoPlanejamento.Impedimento:
                return(AlterarParaImpedimento(decorator, situacaoAlterada));

            case CsTipoPlanejamento.Planejamento:
                return(AlterarParaPlanejamento(decorator, situacaoAlterada));

            case CsTipoPlanejamento.Cancelamento:
                return(AlterarParaCancelamento(decorator, situacaoAlterada));

            default:
                return(CsSituacaoPlanejamentoTipoRetorno.SituacaoPlanejamentoRecusada);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Retornar se a situação de uma situação planejamento é válida
        /// </summary>
        /// <param name="tipo">tipo de situação</param>
        /// <param name="decorator">tarefa com os dados para serem validados</param>
        /// <returns></returns>
        public bool ValidarSituacaoPlanejamento(CsTipoPlanejamento tipo, CronogramaTarefaDecorator decorator)
        {
            SituacaoPlanejamentoDTO situacao = situacoesPlanejamento.FirstOrDefault(o => o.CsTipo == tipo);

            if (situacao == null)
            {
                return(false);
            }

            switch (situacao.CsTipo)
            {
            case CsTipoPlanejamento.Encerramento:
                return(PossuiEsforcoRealizado(decorator) && NaoPossuiHorasRestantes(decorator));

            case CsTipoPlanejamento.Execução:
                return(PossuiEstimativaInicial(decorator) && PossuiHorasRestantes(decorator));

            case CsTipoPlanejamento.Planejamento:
                return(NaoPossuiEsforcoRealizado(decorator));

            case CsTipoPlanejamento.Cancelamento:
                return(NaoPossuiHorasRestantes(decorator));

            case CsTipoPlanejamento.Impedimento:
                return(true);
            }
            return(false);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Criar uma nova situação planejamento
        /// </summary>
        /// <param name="num"></param>
        /// <returns></returns>
        public static SituacaoPlanejamentoDTO CriarSituacaoPlanejamento(string Descricao, CsTipoPlanejamento tipo, bool ativo = true)
        {
            Random random = new Random();
            CsTipoSituacaoPlanejamento statusSituacao;

            if (ativo)
            {
                statusSituacao = CsTipoSituacaoPlanejamento.Ativo;
            }
            else
            {
                statusSituacao = CsTipoSituacaoPlanejamento.Inativo;
            }
            SituacaoPlanejamentoDTO situacao = new SituacaoPlanejamentoDTO()
            {
                Oid         = Guid.NewGuid(),
                TxDescricao = Descricao,
                CsPadrao    = (CsPadraoSistema)random.Next(0, 1),
                CsSituacao  = statusSituacao,
                CsTipo      = tipo,
                TxKeys      = ((Shortcut)(contadorAtalhos + seedShortcut)).ToString(),
                KeyPress    = (Shortcut)(contadorAtalhos + seedShortcut),
                BlImagemSituacaoPlanejamento = null
            };

            contadorAtalhos++;
            return(situacao);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Calcula a situação planejamento ideal conforme os dados da tarefa
        /// </summary>
        /// <param name="decorator"></param>
        public void CalcularSituacaoPlanejamentoIdeal(CronogramaTarefaDecorator decorator)
        {
            SituacaoPlanejamentoDTO situacaoSelecionada = GetSituacaoPlanejamentoSelecionada(decorator.OidSituacaoPlanejamentoTarefa);

            if (ValidarSituacaoPlanejamento(situacaoSelecionada.CsTipo, decorator))
            {
                return;
            }

            if (ValidarSituacaoPlanejamento(CsTipoPlanejamento.Planejamento, decorator))
            {
                decorator.OidSituacaoPlanejamentoTarefa = GetOidSituacaoPlanejamentoPorTipo(CsTipoPlanejamento.Planejamento);
                return;
            }

            if (ValidarSituacaoPlanejamento(CsTipoPlanejamento.Execução, decorator))
            {
                decorator.OidSituacaoPlanejamentoTarefa = GetOidSituacaoPlanejamentoPorTipo(CsTipoPlanejamento.Execução);
                return;
            }

            if (ValidarSituacaoPlanejamento(CsTipoPlanejamento.Encerramento, decorator))
            {
                decorator.OidSituacaoPlanejamentoTarefa = GetOidSituacaoPlanejamentoPorTipo(CsTipoPlanejamento.Encerramento);
                return;
            }
        }
Exemplo n.º 7
0
 public void QuandoOColaboradorAlterarASituacaoDaTarefaParaOTipo(CsTipoPlanejamento tipoSituacaoPlanejamento)
 {
     situacaoSelecionadaAnterior  = GetSituacaoPlanejamento(view.OidSituacaoPlanejamento);
     situacaoSelecionada          = GetSituacaoPlanejamento(tipoSituacaoPlanejamento);
     view.OidSituacaoPlanejamento = situacaoSelecionada.Oid;
     presenter.AlterarSituacaoPlanejamento();
 }
Exemplo n.º 8
0
        public void QuandoOColaboradorAlterarASituacaoPlanejamentoDaTarefaDiretamenteParaOTipo(CsTipoPlanejamento tipoSituacaoPlanejamento)
        {
            Guid oidSituacaoPlanejamentoAnterior = view.OidSituacaoPlanejamento;

            situacaoSelecionada = GetSituacaoPlanejamento(tipoSituacaoPlanejamento);
            presenter.AlterarSituacaoPlanejamento();
        }
Exemplo n.º 9
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);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Método responsável por validar a situação planejamento quando o usuário alterar diretamente no combo de situações planejamento.
        /// </summary>
        /// <param name="autoCalcular">Indicar se deve ou não recalcular a situação planejamento caso seja inválida</param>
        public void AlterarSituacaoPlanejamento(bool autoCalcular = true)
        {
            SituacaoPlanejamentoDTO viewSituacaoPlanejamento = GetSituacaoPlanejamento(view.OidSituacaoPlanejamento);

            switch (viewSituacaoPlanejamento.CsTipo)
            {
            case CsTipoPlanejamento.Encerramento:
                SetarTarefaComoEmEncerramento(false, autoCalcular);
                break;

            case CsTipoPlanejamento.Execução:
                SetarTarefaComoEmExecucao(false, autoCalcular);
                break;

            case CsTipoPlanejamento.Impedimento:
                SetarTarefaComoEmImpedimento(false, autoCalcular);
                break;

            case CsTipoPlanejamento.Planejamento:
                SetarTarefaComoEmPlanejamento(false, autoCalcular);
                break;

            case CsTipoPlanejamento.Cancelamento:
                SetarTarefaComoEmCancelamento();
                break;
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Método responsável tentar setar a situação planejamento como Cancelamento (Cancelado)
        /// </summary>
        public void SetarTarefaComoEmCancelamento()
        {
            SituacaoPlanejamentoDTO situacaoPlanejamento = situacoesPlanejamento.First(o => o.CsTipo.Equals(CsTipoPlanejamento.Cancelamento));

            horaRestante = new TimeSpan(0);
            view.OidSituacaoPlanejamento = situacaoPlanejamento.Oid;
            horaFinal = horaInicial;
            CalcularHoraFinal();
            VerificarSeNecessitaJustificativa();
        }
Exemplo n.º 12
0
        /// <summary>
        /// Retornar o guid de identifação da situação planejamento pelo tipo selecionado
        /// </summary>
        /// <param name="tipo"></param>
        /// <returns></returns>
        private Guid GetOidSituacaoPlanejamentoPorTipo(CsTipoPlanejamento tipo)
        {
            SituacaoPlanejamentoDTO situacao = situacoesPlanejamento.FirstOrDefault(o => o.CsTipo.Equals(tipo));

            if (situacao != null)
            {
                return(situacao.Oid);
            }
            return(new Guid());
        }
Exemplo n.º 13
0
        /////CRIAR REGRA NO ENTITY
        ///// <summary>
        ///// Função que não permite deletar uma situação de planejamento já usada
        ///// </summary>
        //[RuleFromBoolProperty( "NaoPermitirDeletarSeTarefaAssociada", DefaultContexts.Delete,
        //    "A Situação não pode ser deletada pois está associada a uma tarefa." )]
        //[NonPersistent, Browsable( false )]
        //public bool NaoPermitirDeletarSeTarefaAssociada
        //{
        //    get
        //    {
        //        return ConsultarSituacaoUsada( Session );
        //    }
        //}

        #region Factories

        /// <summary>
        /// Método responsável por criar um objeto SituacaoPlanejamentoDto a partir do Objeto SituacaoPlanejamento
        /// </summary>
        /// <param name="situacaoPlanejamento">Objeto SituacaoPlanejamento</param>
        /// <returns>Objeto SituacaoPlanejamentoDto</returns>
        public SituacaoPlanejamentoDTO DtoFactory()
        {
            SituacaoPlanejamentoDTO situacaoPlanejamentoDto = new SituacaoPlanejamentoDTO()
            {
                Oid         = Oid,
                TxDescricao = TxDescricao,
                CsSituacao  = CsSituacao,
                CsTipo      = CsTipo,
                CsPadrao    = CsPadrao,
                KeyPress    = KeyPress,
                TxKeys      = TxKeys
            };

            if (BlImagem != null)
            {
                situacaoPlanejamentoDto.BlImagemSituacaoPlanejamento = ImageUtil.ConverterImagemParaBytes(BlImagem);
            }

            return(situacaoPlanejamentoDto);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Método responsável por buscar a situação planejamento de cada tipo ordenada por ordem alfabética.
        /// </summary>
        /// <param name="situacoesPlanejamento">Lista contendo todas as situações de planejamento</param>
        public void CarregarSituacoesPlanejamentoPorTipo(List <SituacaoPlanejamentoDTO> situacoesPlanejamentoDto)
        {
            //preenche o atributo estático
            situacoesPlanejamento = situacoesPlanejamentoDto;

            //retirando valores de referência
            List <SituacaoPlanejamentoDTO> situacoesAtivas = new List <SituacaoPlanejamentoDTO>(situacoesPlanejamento);

            if (situacoesAtivas.Count <= 0)
            {
                return;
            }

            List <SituacaoPlanejamentoDTO> selecao = situacoesAtivas.GroupBy(o => o.CsTipo).Select(o => o.First()).ToList();

            situacaoPlanejamentoTipoPlanejamento = selecao.FirstOrDefault(o => o.CsTipo.Equals(CsTipoPlanejamento.Planejamento));
            situacaoPlanejamentoTipoExecucao     = selecao.FirstOrDefault(o => o.CsTipo.Equals(CsTipoPlanejamento.Execução));
            situacaoPlanejamentoTipoEncerramento = selecao.FirstOrDefault(o => o.CsTipo.Equals(CsTipoPlanejamento.Encerramento));
            situacaoPlanejamentoTipoImpedimento  = selecao.FirstOrDefault(o => o.CsTipo.Equals(CsTipoPlanejamento.Impedimento));
            situacaoPlanejamentoTipoCancelamento = selecao.FirstOrDefault(o => o.CsTipo.Equals(CsTipoPlanejamento.Cancelamento));
        }
Exemplo n.º 15
0
        /// <summary>
        /// Método responsável por enviar a requisição para que um histórico seja criado para uma determinada tarefa.
        /// Obs: ele pega todos os atributos com os valores atuais que se encontram no popup e os envia para que o histórico seja salvo.
        /// </summary>
        public void RnCriarHistoricoTarefa()
        {
            SituacaoPlanejamentoDTO situacaoAtual = GetSituacaoPlajenamentoAtual();

            if (situacaoAtual != null && ValidarSituacaoPlanejamento(situacaoAtual.CsTipo))
            {
                if ((!situacaoAtual.CsTipo.Equals(CsTipoPlanejamento.Cancelamento) && (!situacaoAtual.CsTipo.Equals(CsTipoPlanejamento.Impedimento)) && !situacaoAtual.CsTipo.Equals(CsTipoPlanejamento.Planejamento)) && horaEstimativaInicial.Ticks <= 0)
                {
                    NotificarMensagem(Resources.Caption_Atencao, "Não foi possível salvar a alteração, pois não foi estimado um tempo para a realização da tarefa.");
                    return;
                }

                if (!HoraInicialForAHoraInicialSugerida(view.NbHoraInicial) && horaRealizada.Ticks <= 0)
                {
                    NotificarMensagem(Resources.Caption_Atencao, "Não foi possível salvar a alteração.\nNão é permitido alterar a hora inicial sem ter informado um esforço realizado.");
                    return;
                }

                if (ModoAtalho && situacaoAtual.CsTipo == CsTipoPlanejamento.Impedimento)
                {
                    horaRealizada = TimeSpan.Zero;
                }

                servicoPlanejamento.CriarHistoricoTarefa(cronogramaTarefa.OidTarefa, loginColaborador, horaRealizada,
                                                         view.DtRealizado, horaInicial, horaFinal, view.TxComentario,
                                                         horaRestante, view.OidSituacaoPlanejamento, view.TxJustificativaDeReducao);
                if (AoSalvarHistorico != null)
                {
                    AoSalvarHistorico(cronogramaTarefa, new EventArgs());
                }
            }
            else
            {
                if (!ModoAtalho)
                {
                    NotificarMensagem(Resources.Caption_SituacaoPlanejamentoInvalida, Resources.Alerta_SituacaoPlanejamentoInvalidaAoSalvar);
                }
            }
        }
        /// <summary>
        /// Método para gerar um Dto a partir da Entidade
        /// </summary>
        /// <param name="situacao">entidade situação planejamento</param>
        /// <returns>Dto referente a entidade</returns>
        public static SituacaoPlanejamentoDTO DtoFactory(WexProject.BLL.Entities.Planejamento.SituacaoPlanejamento situacao)
        {
            if (situacao == null)
            {
                return(null);
            }
            SituacaoPlanejamentoDTO situacaoPlanejamentoDto = new SituacaoPlanejamentoDTO()
            {
                Oid         = situacao.Oid,
                TxDescricao = situacao.TxDescricao,
                CsSituacao  = situacao.CsSituacao,
                CsTipo      = situacao.CsTipo,
                CsPadrao    = situacao.CsPadrao,
                KeyPress    = (System.Windows.Forms.Shortcut)situacao.KeyPress,
                TxKeys      = situacao.TxKeys
            };

            if (situacao.BlImagem != null)
            {
                situacaoPlanejamentoDto.BlImagemSituacaoPlanejamento = situacao.BlImagem;
            }
            return(situacaoPlanejamentoDto);
        }
Exemplo n.º 17
0
        /// <summary>
        /// Método responsável por validar a regra quando for alterado para Planejamento
        /// </summary>
        /// <param name="decorator">Objeto Tarefa</param>
        /// <param name="situacaoPlanejamento">Situação planejamento desejada</param>
        /// <returns>Validação</returns>
        protected override CsSituacaoPlanejamentoTipoRetorno AlterarParaPlanejamento(CronogramaTarefaDecorator decorator, SituacaoPlanejamentoDTO situacaoPlanejamento)
        {
            if (PossuiEsforcoRealizado(decorator))
            {
                situacaoController.RecusarSituacaoPlanejamento(decorator, situacaoPlanejamento.Oid);
                situacaoController.NotificarMensagem(Resources.Caption_Atencao, Resources.Alerta_PossuiEsforcoRealizadoCadastrado);
                situacaoController.LimparBarraStatus();
                situacaoController.ForcarFimEdicao();

                return(CsSituacaoPlanejamentoTipoRetorno.SituacaoPlanejamentoRecusada);
            }
            decorator.OidSituacaoPlanejamentoTarefa = situacaoPlanejamento.Oid;
            return(CsSituacaoPlanejamentoTipoRetorno.NaoConsumiuHoras);
        }
Exemplo n.º 18
0
        public void EntaoASituacaoPlanejamentoDeveraSerDoTipo(CsTipoPlanejamento tipoSituacaoPlanejamento)
        {
            SituacaoPlanejamentoDTO situacao = GetSituacaoPlanejamento(view.OidSituacaoPlanejamento);

            Assert.AreEqual(tipoSituacaoPlanejamento, situacao.CsTipo, string.Format("A situação planejamento deveria ser do tipo {2} (Situação Selecionada:{0} | Tipo:{1})", situacao.TxDescricao, situacao.CsTipo, tipoSituacaoPlanejamento));
        }
Exemplo n.º 19
0
        public void EntaoASituacaoPlanejamentoDeveraSerDoTipoPois(CsTipoPlanejamento tipoSituacaoPlanejamento, string motivo)
        {
            SituacaoPlanejamentoDTO situacao = GetSituacaoPlanejamento(view.OidSituacaoPlanejamento);

            Assert.AreEqual(tipoSituacaoPlanejamento, situacao.CsTipo, motivo);
        }
Exemplo n.º 20
0
 public CronogramaTarefaDecoratorBuilder SituacaoPlanejamento(SituacaoPlanejamentoDTO situacao)
 {
     tarefaAtual.OidSituacaoPlanejamentoTarefa         = situacao.Oid;
     tarefaAtual.TxDescricaoSituacaoPlanejamentoTarefa = situacao.TxDescricao;
     return(this);
 }
 public virtual void ListarSituacoesPlanejamento(List <SituacaoPlanejamentoDTO> situacoes, SituacaoPlanejamentoDTO situacaoPadrao)
 {
     //Implementar caso haja necessidade nos testes unitários
 }
Exemplo n.º 22
0
 /// <summary>
 /// Método responsável por validar a regra quando for alterado para Impedimento
 /// </summary>
 /// <param name="decorator">Objeto Tarefa</param>
 /// <param name="situacaoPlanejamento">Situação planejamento desejada</param>
 /// <returns>Validação</returns>
 protected abstract CsSituacaoPlanejamentoTipoRetorno AlterarParaImpedimento(CronogramaTarefaDecorator decorator, SituacaoPlanejamentoDTO situacaoPlanejamento);
Exemplo n.º 23
0
 /// <summary>
 /// Método responsável por validar a regra quando for alterado para Cancelamento
 /// </summary>
 /// <param name="decorator">Objeto Tarefa</param>
 /// <param name="situacaoPlanejamento">Situação planejamento desejada</param>
 /// <returns>Validação</returns>
 protected override CsSituacaoPlanejamentoTipoRetorno AlterarParaCancelamento(CronogramaTarefaDecorator decorator, SituacaoPlanejamentoDTO situacaoPlanejamento)
 {
     decorator.NbEstimativaRestante          = 0;
     decorator.OidSituacaoPlanejamentoTarefa = situacaoPlanejamento.Oid;
     return(CsSituacaoPlanejamentoTipoRetorno.NaoConsumiuHoras);
 }
Exemplo n.º 24
0
 /// <summary>
 /// Método responsável por validar a regra quando for alterado para Impedimento
 /// </summary>
 /// <param name="decorator">Objeto Tarefa</param>
 /// <param name="situacaoPlanejamento">Situação planejamento desejada</param>
 /// <returns>Validação</returns>
 protected override CsSituacaoPlanejamentoTipoRetorno AlterarParaImpedimento(CronogramaTarefaDecorator decorator, SituacaoPlanejamentoDTO situacaoPlanejamento)
 {
     decorator.OidSituacaoPlanejamentoTarefa = situacaoPlanejamento.Oid;
     return(CsSituacaoPlanejamentoTipoRetorno.NaoConsumiuHoras);
 }
Exemplo n.º 25
0
        /// <summary>
        /// Método para selecionar a situação planejamento escolhida na view
        /// </summary>
        /// <param name="oidSituacaoPlanejamento">oid de identificação da situação planejamento selecionada</param>
        /// <returns>situação planejamento selecionada</returns>
        public SituacaoPlanejamentoDTO GetSituacaoPlanejamento(Guid oidSituacaoPlanejamento)
        {
            SituacaoPlanejamentoDTO viewSituacaoPlanejamento = situacoesPlanejamento.First(o => o.Oid.Equals(oidSituacaoPlanejamento));

            return(viewSituacaoPlanejamento);
        }
Exemplo n.º 26
0
        /// <summary>
        /// Método responsável por validar a regra quando for alterado para Execução
        /// </summary>
        /// <param name="decorator">Objeto Tarefa</param>
        /// <param name="situacaoPlanejamento">Situação planejamento desejada</param>
        /// <returns>Validação</returns>
        protected override CsSituacaoPlanejamentoTipoRetorno AlterarParaExecucao(CronogramaTarefaDecorator decorator, SituacaoPlanejamentoDTO situacaoPlanejamento)
        {
            if (NaoPossuiEstimativaInicial(decorator))
            {
                situacaoController.RecusarSituacaoPlanejamento(decorator, situacaoPlanejamento.Oid);
                situacaoController.NotificarMensagem(Resources.Caption_Atencao, Resources.Alerta_DevePossuirDuracaoTarefa);
                situacaoController.ForcarFimEdicao();
                return(CsSituacaoPlanejamentoTipoRetorno.SituacaoPlanejamentoRecusada);
            }
            else
            {
                if (NaoPossuiHorasRestantes(decorator))
                {
                    if (decorator.EstimativaInicial.Ticks <= decorator.NbRealizado)
                    {
                        decorator.NbEstimativaRestante = decorator.EstimativaInicial.Ticks;
                    }
                    else
                    {
                        decorator.NbEstimativaRestante = decorator.EstimativaInicial.Ticks - decorator.NbRealizado;
                    }

                    situacaoController.InicializarFormularioHistoricoView(situacaoPlanejamento.Oid);
                    return(CsSituacaoPlanejamentoTipoRetorno.NaoConsumiuHoras);
                }
                else
                {
                    decorator.OidSituacaoPlanejamentoTarefa = situacaoPlanejamento.Oid;
                    return(CsSituacaoPlanejamentoTipoRetorno.NaoConsumiuHoras);
                }
            }
        }
Exemplo n.º 27
0
 /// <summary>
 /// Selecionar uma situação planejamento padrao
 /// </summary>
 public void SelecionarSituacaoPlanejamentoPadrao()
 {
     situacaoPlanejamentoPadrao = situacoesPlanejamentoAtivas.FirstOrDefault(o => o.CsTipo.Equals(CsTipoPlanejamento.Planejamento));
 }