Sempre que realizamos um evento, recebemos do CEA (Comunidade em Ação) uma planilha com os dados de todos os inscritos pelo site da Microsoft, e para agilizar o processo de sorteio, já que sempre temos esses dados, procurava uma forma de automatizar isso. Há muito tempo atrás eu achei no blog do André Furtado, um programinha para auxiliar no sorteio de brindes, nos eventos que fazia pelo pantanet . Ele era chamado de Random Generator e funciona da seguinte forma: você coloca um intervalo de números dos participantes da lista e a cada clique, ele gera um número aleatório que é o número do sorteado, como vocës podem ver na imagem. 

image

Pronto, era o que precisava e durante um bom tempo utilizei esse programa que sempre quebrou um galhão. Acontece que os eventos começaram a crescer, muita gente cadastrada na lista, mais brindes para serem sorteados e como sempre o sorteio fica para o final, começou a demorar mais tempo e alguns constrangimentos com o público. Por isso, seguindo a mesma idéia, resolvi criar algo que melhorasse ainda mais o sorteio.

Alguns pontos que eu precisava melhorar, que não contemplava no Random Generator:

  • Devido a um grande intervalo de número, ele começou a repetir o número de pessoas que já tinham sido sorteadas, demorando mais.
  • Não tinha como controlar quem já tinha sido sorteado, o que ficava a cargo do público lembrar ou fazer um controle manual.
  • Dentro desse intervalo, tinha pessoas que já tinha ido embora ou não compareceram ao evento, e não precisava ser sorteado, somente os que estavam presentes, causando mais demora.
  • Tudo isso lógicamente por não ser integrado com a lista.

Dessa forma comecei a criar algo simples que resolvesse esses problemas, criando uma aplicação desktop que lê os dados dessa planilha e:

  • Verifica somente os participantes que tiveram a presença confirmada no credenciamento
  • Atribui um código para cada participante que será usado no sorteio
  • Mostra a lista na tela
  • Mostra a lista dos sorteados
  • Mostra a lista dos ganhadores

Como funciona

image

Clica no botão carregar e seleciona a planilha do CEA com os participantes

 

image

Com os dados carregados, a cada click ou enter no botão Sortear, é questionado se ganhou, porque mesmo se a pessoa tiver confirmado a presença, no momento do sorteio ela já pode ter ido embora e não está mais presente, principalmente em eventos de dia todo. Os que foram sorteados vão saindo da lista principal e entram na lista de sorteados, e os sorteados que estão presentes, para a lista de ganhadores.

Essa primeira versão já foi usada no Aniversário do PantaNet e agilizou bastante o sorteio, pois num evento como esse onde tivemos cerca de 30 brindes(muitas revistas) para sortear e aproximadamente 150 pessoas, fez muita diferença.

Tenho vontade de ir melhorando cada vez mais, inclusive foi feito em WPF, pensando em futuramente fazer um visual e efeitos mais interessantes. Alguns pontos que pode ser melhorado:

  • Utilizar um banco de dados para armazenar os eventos e seu histórico
  • Importar a planilha para o banco de dados
  • Cadastrar os brindes com foto para utilizar um efeito mais bonito na hora do ganhador
  • Criar um cadastro de participantes na hora do credenciamento

O programa está no VS2008 SP1 em WPF com VB.Net com os fontes disponíveis, e se alguém melhorar, depois mande pra eu disponibilizar uma nova versão.

Segue o link no skydrive: http://cid-d3532263bf1667af.skydrive.live.com/self.aspx/Aplicativos/SorteioCommunity.rar

 Planilha de Exemplo: http://cid-d3532263bf1667af.skydrive.live.com/self.aspx/Aplicativos/ListaExemploSorteioPantanet.xls

Abraços.