static void Principal() { cTools.Escrever(@" %3 /atualizar -%4 Atualizar banco de dados. %3 /pesquisarpag -%4 Pega os %2jogos%4 apartir de uma das paginas. %3 /pesquisar -%4 Pesquisa algum %2jogo%4 apartir do servidor. %3 /pesquisarloc -%4 Pesquisa algum %2jogo%4 apartir do arquivo local. %3 /listacate -%4 Mostra a lista de %2jogos%4 apartir de uma categoria. %3 /lista -%4 Mostra a lista de %2jogos%4. %3 /sair -%4 Para sair. %3 /selecione -%4 Seleciona o jogo para baixar %2jogo%4."); Resp = Console.ReadLine().ToLower(); int iRet = -1; cJogo[] reBusca; switch (Resp.ToLower()) { case "/atualizar": if (SimOuNao("%2Voce deseja atualizar o banco de dados?")) { AtualizarDB(); } break; case "/listacate": cTools.Escrever("%2ID\t\tCategoria"); for (int i = 0; i < Categorias.Count; i++) { cTools.Escrever($"{i}\t\t{Categorias[i]}"); } cTools.Escrever("%4Selecione uma das %2categorias%4."); cTools.Escrever("Digite a id:"); Resp = Console.ReadLine(); if (int.TryParse(Resp, out iRet)) { if (iRet >= 0 && iRet < Categorias.Count) { try { reBusca = cJogo.BuscarPorCategoria(JogosSalvo.ToArray(), Categorias[iRet]); cTools.Escrever($"%2{reBusca.Length} %1Jogos %2Jogos encontrados!"); if (reBusca == null && reBusca.Length <= 0) { break; } else if (reBusca != null && reBusca.Length > 0) { frmResultCate frm = new frmResultCate(); frm.Lista = reBusca; tAbrirForm(frm); if (SimOuNao("%2Deseja abrir baixar algum dos jogos?")) { cTools.Escrever("Digite o ID: "); Resp = Console.ReadLine(); if (int.TryParse(Resp, out iRet)) { if (iRet > -1 && iRet < reBusca.Length) { Download(reBusca[iRet]); } } } } else { cTools.Escrever("Nao existe jogo com estas categoria.", ConsoleColor.Red); } Console.ReadLine(); } catch { cTools.Escrever("Error ", ConsoleColor.Red); } } else { cTools.Escrever("Nao existe esse ID", ConsoleColor.Red); } } break; case "/selecione": cTools.Escrever("Digite o ID do jogo: (para saber o ID do jogo digite /lista"); Resp = Console.ReadLine(); if (int.TryParse(Resp, out iRet)) { if (iRet > 0 && iRet <= JogosSalvo.Count) { Download(JogosSalvo[iRet]); } else { cTools.Escrever("ID Invalido!", ConsoleColor.Red); } } break; case "/pesquisarpag": cTools.Escrever("Digite o numero da pagina:"); Resp = Console.ReadLine(); if (int.TryParse(Resp, out iRet)) { if (iRet > -1 && iRet < 200) { try { reBusca = cJogo.PegarPagina(iRet); if (reBusca != null && reBusca.Length > 0) { cTools.Escrever($"%2{reBusca.Length} %1Jogos %2Jogos encontrados!"); frmResultCate frm = new frmResultCate(); frm.Lista = reBusca; tAbrirForm(frm); if (SimOuNao("%2Deseja salvar estes jogos ao banco?")) { JogosSalvo.AddRange(reBusca); RemoverDuplicados(); } if (SimOuNao("%2Deseja abrir baixar algum dos jogos?")) { cTools.Escrever("Digite o ID: "); Resp = Console.ReadLine(); if (int.TryParse(Resp, out iRet)) { if (iRet > -1 && iRet < reBusca.Length) { Download(reBusca[iRet]); } } } } else { cTools.Escrever("Pagina nao existe ou nao tem jogos", ConsoleColor.Red); } } catch { cTools.Escrever("Pagina nao existe ou nao tem jogos", ConsoleColor.Red); } } else { cTools.Escrever("Pagina nao existe", ConsoleColor.Red); } } break; case "/lista": int MaxPaginas = JogosSalvo.Count / MaxItensLista; cTools.Escrever($"Digite a pagina Min:0 Max:{MaxPaginas}"); Resp = Console.ReadLine(); if (int.TryParse(Resp, out iRet) && iRet > -1 && iRet <= MaxPaginas) { cTools.Escrever("%2ID\tNome\t\t\tDescricao"); for (int i = iRet * MaxItensLista; i <= (iRet * MaxItensLista) + MaxItensLista; i++) { cJogo j = JogosSalvo[i]; cTools.EscreverMod($"{i}%5\t{PegarTexto(j.Nome, 20)}"); cTools.EscreverMod($"\t%4{PegarTexto(j.Descricao, 40)}"); cTools.Escrever(""); } Console.ReadLine(); } else { cTools.Escrever("Pagina inexistente!", ConsoleColor.Red); } break; case "/pesquisarloc": cTools.Escrever("%4Digite o nome do %2jogo%4."); Resp = Console.ReadLine(); reBusca = cJogo.BuscarDB(JogosSalvo.ToArray(), Resp); if (reBusca != null && reBusca.Length >= 0) { frmResultCate frm = new frmResultCate(); frm.Lista = reBusca; tAbrirForm(frm); if (SimOuNao("%2Deseja abrir baixar algum dos jogos?")) { cTools.Escrever("Digite o ID: "); Resp = Console.ReadLine(); if (int.TryParse(Resp, out iRet)) { if (iRet > -1 && iRet < reBusca.Length) { Download(reBusca[iRet]); } } else { cTools.Escrever("ID Inexistente.", ConsoleColor.Red); } } } break; case "/pesquisar": try { cTools.Escrever("Digite o nome do jogo a pesquisar:"); Resp = Console.ReadLine().ToLower(); reBusca = cJogo.ProcurarJogo(Resp); cTools.Escrever($"%2{reBusca.Length} %1Jogos %2Jogos encontrados!"); if (reBusca == null && reBusca.Length <= 0) { break; } frmResultCate frm = new frmResultCate(); frm.Lista = reBusca; tAbrirForm(frm); if (SimOuNao("%2Deseja salvar estes jogos ao banco?")) { JogosSalvo.AddRange(reBusca); RemoverDuplicados(); } if (SimOuNao("%2Deseja abrir baixar algum dos jogos?")) { cTools.Escrever("Digite o ID: "); Resp = Console.ReadLine(); if (int.TryParse(Resp, out iRet)) { if (iRet > -1 && iRet < reBusca.Length) { Download(reBusca[iRet]); } } else { cTools.Escrever("ID Inexistente.", ConsoleColor.Red); } } } catch { cTools.Escrever("Error ao pesquisar jogo", ConsoleColor.Red); break; } break; case "/sair": if (SimOuNao("%2Voce deseja realmente sair?")) { cTools.EscreverRainbow("Ate a proxima."); Thread.Sleep(1000); Environment.Exit(1); } break; default: break; } }
static void tAbrirForm(frmResultCate frm) { Thread t = new Thread(() => AbrirForm(frm)); t.Start(); }
static void AbrirForm(frmResultCate frm) { Application.EnableVisualStyles(); Application.Run(frm); // or whatever }