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); }
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); } }
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); } }
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); }
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()); }
private void AcertouPrato(PratoModel prato) { MessageBox.Show("Acertei! : ) " + prato.Nome, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); }