Created
January 18, 2014 00:11
-
-
Save lazarofl/8484103 to your computer and use it in GitHub Desktop.
Exemplo de switch case que podemos melhorar com o uso do padrão Interpreter, abaixo, o modelo "gambiarra master" normalmente encontrado.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
static void Main(string[] args) | |
{ | |
try | |
{ | |
Console.WriteLine("Selecione uma das opções abaixo: "); | |
Console.WriteLine("1) Publicar usuários"); | |
Console.WriteLine("2) Publicar empresas"); | |
Console.WriteLine("3) Publicar perguntas"); | |
Console.WriteLine("4) Publicar boxes das empresas"); | |
Console.WriteLine("5) Publicar categorias das empresas"); | |
Console.WriteLine("6) Publicar categorias de conteúdos"); | |
Console.WriteLine("7) Publicar dos conteúdos"); | |
Console.WriteLine("8) Publicar vagas no canal empregos"); | |
Console.WriteLine("9) Publicar curriculums no canal empregos"); | |
Console.WriteLine("10) Limpar conteúdos do índice"); | |
Console.WriteLine("11) Limpar empresas do índice"); | |
Console.WriteLine("12) Limpar perguntas do índice"); | |
Console.WriteLine("13) Limpar sujestões do índice"); | |
Console.WriteLine("14) Publicar destaques"); | |
Console.WriteLine("15) Publicar pergunta"); | |
Console.WriteLine("16) Republicar todos os pontos dos usuário"); | |
Console.WriteLine("17) Republicar todos os pontos das empresas"); | |
Console.WriteLine("18) Migrar formato de urls das atividades"); | |
Console.WriteLine("19) Republicar sumário de cotações das empresas"); | |
Console.WriteLine("20) Republicar sumário de cotações de uma empresa"); | |
Console.WriteLine("21) Republicar sumário de avaliações das empresas"); | |
Console.WriteLine("22) Republicar sumário de avaliações de uma empresa"); | |
Console.WriteLine("23) Republicar palavras chave do índice de AdWords Síndiconet"); | |
Console.WriteLine("24) Republicar índice das empresas"); | |
Console.WriteLine("25) Republicar índice de uma empresa"); | |
Console.WriteLine("26) Testar envio de email"); | |
Console.WriteLine("27) Enviar email para confirmação de conta"); | |
Console.WriteLine("28) Publicar Usuário por ID"); | |
Console.WriteLine("29) Publicar Ranking"); | |
Console.WriteLine("30) Limpar curriculos e vagas vencidos no banco de empregos"); | |
Console.WriteLine("31) Notificar compradores sobre orçamentos não lidos"); | |
Console.WriteLine("32) Notificar empresas sobre cotações não confirmadas "); | |
Console.WriteLine("33) Notificar empresas sobre índice baixo"); | |
Console.WriteLine("34) Enviar monitoramento de cotações"); | |
Console.WriteLine("35) Enviar pesquisa de cotações"); | |
Console.WriteLine("36) Atualizar placar de páginas mais acessadas"); | |
Console.WriteLine("37) Notificar e habilitar avaliações para compradores"); | |
Console.WriteLine("38) Publicar pontos de um usuário"); | |
Console.WriteLine("39) Publicar pontos de uma empresa"); | |
string option = args.Length == 0 ? Console.ReadLine() : args[0]; | |
switch (option.ToInt()) | |
{ | |
case 1: | |
PublishUsers(); | |
break; | |
case 2: | |
PublishCompanies(); | |
break; | |
case 3: | |
PublishQuestions(); | |
break; | |
case 4: | |
PublishCompanyBox(); | |
break; | |
case 5: | |
PublishCompanyCategories(); | |
break; | |
case 6: | |
PublishContentCategories(); | |
break; | |
case 7: | |
PublishContents(); | |
break; | |
case 8: | |
PublishJobOpennings(); | |
break; | |
case 9: | |
PublishJobCurriculums(); | |
break; | |
case 10: | |
ClearContentLuceneIndex(); | |
break; | |
case 11: | |
ClearCompanyLuceneIndex(); | |
break; | |
case 12: | |
ClearQuestionLuceneIndex(); | |
break; | |
case 13: | |
ClearSuggestionLuceneIndex(); | |
break; | |
case 14: | |
PublishHighlightAreas(); | |
break; | |
case 15: | |
PublishQuestion(); | |
break; | |
case 16: | |
PublishTiraDuvidasPointsForAllUsers(); | |
break; | |
case 17: | |
PublishTiraDuvidasPoinsForAllCompanies(); | |
break; | |
case 18: | |
FixQuotationActivityUrl(); | |
break; | |
case 19: | |
PublishSupplierQuotationSummary(); | |
break; | |
case 20: | |
PublishSupplierQuotationSummaryToCompany(); | |
break; | |
case 21: | |
PublishSupplierQuotationEvaluationSummary(); | |
break; | |
case 22: | |
PublishSupplierQuotationEvaluationSummaryToCompany(); | |
break; | |
case 23: | |
PublishAdWords(); | |
break; | |
case 24: | |
PublishIndex(); | |
break; | |
case 25: | |
PublishIndextoCompany(); | |
break; | |
case 26: | |
TestSendMail(); | |
break; | |
case 27: | |
NotifyConfirmation(); | |
break; | |
case 28: | |
PublishUserById(); | |
break; | |
case 29: | |
PublishQuestionRanking(); | |
break; | |
case 30: | |
JobsOpenningCleaner(); | |
break; | |
case 31: | |
SendAlertEmailAboutUnReadQuotationBudgets(); | |
break; | |
case 32: | |
SendAlertEmailAboutNotConfirmedCompanyQuotations(); | |
break; | |
case 33: | |
SendAlertEmailToCompaniesAboutLowIndex(); | |
break; | |
case 34: | |
SendQuotationsTracking(); | |
break; | |
case 35: | |
SendSurveyPostToQuotationSender(); | |
break; | |
case 36: | |
UpdateInformeseMoreReadPages(); | |
UpdateDownloadsMoreReadPages(); | |
UpdateFornecedoresMoreReadPages(); | |
break; | |
case 37: | |
SendGrantQuotationToEvaluation(); | |
break; | |
case 38: | |
PublishTiraDuvidasPointsForUser(); | |
break; | |
case 39: | |
PublishTiraDuvidasPointsForCompany(); | |
break; | |
} | |
if (args.Length != 0) | |
return; | |
Console.WriteLine("===================================================="); | |
Console.WriteLine("============= PROCEDIMENTO ENCERRADO ==============="); | |
Console.WriteLine("===================================================="); | |
Console.ReadKey(); | |
} | |
catch (Exception oException) | |
{ | |
Console.WriteLine("Erro: {0}", oException.Message); | |
Console.ReadKey(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment