示例#1
0
        public FormPremio(SorteadoInfo info)
        {
            InitializeComponent();
            FormFormat formFormat = new FormFormat(this);

            formFormat.formatar();
            this.FormBorderStyle = FormBorderStyle.None;
            infoSorteado         = info;
        }
示例#2
0
        private void NumSorteio(int n, bool limp = false)
        {
            flowLayoutPanelBilhete.Controls.Clear();
            for (int i = 0; i < n; i++)
            {
                SorteadoInfo       bi = new SorteadoInfo();
                UserControlBilhete b  = new UserControlBilhete(bi);
                b.Texto = (i + 1).ToString();
                b.Nome  = "_" + (i + 1).ToString();

                if (limp)
                {
                    b.MudarCorBotao(Color.White, Color.White);
                }

                flowLayoutPanelBilhete.Controls.Add(b);
            }
        }
示例#3
0
        private void buttonSortear_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            flowLayoutPanelBilhete.Controls.Clear();
            NumSorteio(infoSort.sorteiobilhetequant, true);

            //gera uma lista de numeros sorteados baseado na quantidade de prêmios
            List <int> num = Aleatorio.Gerar(colBilhete.Count + 1, colItens.Sum(i => i.Quant));

            //gera uma lista de número não repetido baseado na quantidade produto
            List <int>         num2  = Aleatorio.Gerar(colItens.Sum(i => i.Quant) + 1, colItens.Sum(i => i.Quant));
            List <ProdutoInfo> lProd = new List <ProdutoInfo>();

            //adiciona os prêmios retidas vezes baseado na quantidade do mesmo
            foreach (var item in colItens)
            {
                for (int i = 0; i < item.Quant; i++)
                {
                    lProd.Add(item.Prod);
                }
            }

            int cont = 0;

            colSorteado = new SorteadoColecao();
            for (int i = 0; i < num.Count; i++)
            {
                UserControlBilhete b = (UserControlBilhete)flowLayoutPanelBilhete.Controls[num[i] - 1];

                SorteadoInfo s = new SorteadoInfo
                {
                    Prod    = lProd[num2[cont++] - 1], //seleciona o prêmio de forma aleatória e vincula a um sorteado
                    Bilhete = colBilhete.Where(w => w.bilhetenum == colBilhete[num[i] - 1].bilhetenum).FirstOrDefault(),
                };

                colSorteado.Add(s);
                b.Sorteado(s);
                b.Botao.BackColor = Color.Blue;
                b.Botao.ForeColor = Color.Blue;
            }

            SalvarTxt();
            this.Cursor = Cursors.Default;
        }
示例#4
0
 public UserControlBilhete(SorteadoInfo info)
 {
     Inicializar();
     infoS = info;
 }
示例#5
0
 public void Sorteado(SorteadoInfo sorteado)
 {
     infoS = sorteado;
 }