示例#1
0
        public void AprovarPasso(Usuario aprovador, Etapa etapa, Passo aprovado)
        {
            if (EtapaAtual.Equals(etapa))
            {
                foreach (var item in Etapas)
                {
                    if (!item.Aprovado && item.Equals(etapa))
                    {
                        foreach (var passo in item.Passos)
                        {
                            if (!passo.Aprovado && passo.Equals(aprovado))
                            {
                                passo.Aprovar();
                                break;
                            }
                        }
                        break;
                    }
                }

                /*
                 * Passo passoAprovado = EtapaAtual.Passos.FirstOrDefault(y => y == aprovado);
                 * if (passoAprovado != null)
                 *  if (aprovador.Papeis.FirstOrDefault(x => passoAprovado.Papeis.Contains(x)) != null)
                 *      passoAprovado.SetAprovado(true);
                 */
            }
        }
示例#2
0
        public void AprovarPasso(Passo passo)
        {
            var passoAprovado = EtapaAtual.Passos.FirstOrDefault(y => y == passo);

            if (passoAprovado != null)
            {
                passoAprovado.Aprovar();
            }
        }
示例#3
0
        public void ReprovarPasso(Passo passo)
        {
            var passoAprovado = EtapaAtual.Passos.FirstOrDefault(y => y.Descricao.Equals(passo.Descricao));

            if (passoAprovado != null)
            {
                passoAprovado.Reprovar();
            }
        }
示例#4
0
 public void AprovarPassoAtual(Passo passo)
 {
     foreach (var item in Passos)
     {
         foreach (var steps in item)
         {
             if (steps.Id == passo.Id)
             {
                 if (!steps.Aprovado)
                 {
                     steps.Aprovar();
                 }
                 else
                 {
                     throw new AprovacaoException("Não se pode aprovar processo já aprovado.");
                 }
             }
         }
     }
 }
示例#5
0
        private Passo ValidarPassoAtual()
        {
            Passo passo = null;

            if (Passos.Any())
            {
                foreach (var item in Passos)
                {
                    if (item.Any())
                    {
                        foreach (var steps in item)
                        {
                            if (!steps.Aprovado)
                            {
                                passo = steps;
                                return(passo);
                            }
                        }
                    }
                }
            }

            return(passo);
        }
示例#6
0
 public void AdicionarProximoPasso(Passo proximoPasso)
 {
     ProximoPasso.Add(proximoPasso);
 }
示例#7
0
 public void AdicionarPassoAnterior(Passo passoAnterior)
 {
     PassoAnterior.Add(passoAnterior);
 }
示例#8
0
 public void Aprovar(Usuario aprovador, Etapa etapa, Passo aprovado)
 {
     Fluxo.AprovarPasso(aprovador, etapa, aprovado);
 }