Ejemplo n.º 1
0
        private PratoModel PerguntarPrato(List <PratoModel> pratos)
        {
            PratoModel retorno = null;

            foreach (PratoModel p in pratos)
            {
                retorno  = p;
                p.Pensou = false;
                if (MessageBox.Show($"O prato que você pensou é {p.Nome} ?",
                                    "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    p.Pensou = true;
                    retorno  = PerguntarPrato(PratoService.Listar(p.Id));
                    if (retorno == null)
                    {
                        retorno = p;
                    }
                    break;
                }
                if (p.Pensou)
                {
                    break;
                }
            }
            return(retorno);
        }
Ejemplo n.º 2
0
        private void AprenderPrato(PratoModel prato)
        {
            string novoPrato = Interaction.InputBox("Qual prato você pensou ?", "Desisto");
            string validacao = PratoService.ValidarPrato(prato, novoPrato);

            if (validacao == "")
            {
                string novoPai = Interaction.InputBox($"{ novoPrato} é ____________ mas { prato.Nome} não.", "Complete");
                validacao = PratoService.ValidarPrato(prato, novoPai);
                if (validacao == "")
                {
                    prato = PratoService.Adicionar(new PratoModel {
                        Nome = novoPai, Pai = prato.Pai
                    });
                    PratoService.Adicionar(new PratoModel {
                        Nome = novoPrato, Pai = prato.Id
                    });
                }
                else
                {
                    MessageBox.Show(validacao, "Atencão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                MessageBox.Show(validacao, "Atencão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Ejemplo n.º 3
0
 private void IniciarButton_Click(object sender, EventArgs e)
 {
     try
     {
         PratoModel retorno = PerguntarPrato(PratoService.Listar());
         if (retorno.Pensou)
         {
             AcertouPrato(retorno);
         }
         else
         {
             AprenderPrato(retorno);
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Ocorreu algo inesperado!", "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
Ejemplo n.º 4
0
 public static PratoModel Adicionar(PratoModel prato)
 {
     if (prato.Id == 0)
     {
         prato.Id = _pratos.Count + 1;
     }
     if (prato != null && !string.IsNullOrEmpty(prato.Nome))
     {
         _pratos.Add(prato);
         PratoModel pai = Consutlar(prato.Pai);
         if (pai != null)
         {
             pai.Filhos++;
         }
     }
     else
     {
         throw new Exception("Prato Invalido");
     }
     return(prato);
 }
Ejemplo n.º 5
0
        public static string ValidarPrato(PratoModel prato, string nome)
        {
            StringBuilder retorno = new StringBuilder("");

            if (string.IsNullOrEmpty(nome))
            {
                retorno.AppendLine("Não foi especificado um nome.");
            }
            else
            {
                if ((prato != null) && prato.Nome.ToUpper().Trim() == nome.ToUpper().Trim())
                {
                    retorno.AppendLine($" {nome} foi á úitima opção.");
                }

                PratoModel pai = PratoService.Consutlar(prato.Pai);
                if ((pai != null) && pai.Nome.ToUpper().Trim() == nome.ToUpper().Trim())
                {
                    retorno.AppendLine($" {nome} já existe na úitima opção.");
                }
            }
            return(retorno.ToString());
        }
Ejemplo n.º 6
0
 private void AcertouPrato(PratoModel prato)
 {
     MessageBox.Show("Acertei! : ) " + prato.Nome, "Informação",
                     MessageBoxButtons.OK, MessageBoxIcon.Information);
 }