public FormPremio(SorteadoInfo info) { InitializeComponent(); FormFormat formFormat = new FormFormat(this); formFormat.formatar(); this.FormBorderStyle = FormBorderStyle.None; infoSorteado = info; }
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); } }
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; }
public UserControlBilhete(SorteadoInfo info) { Inicializar(); infoS = info; }
public void Sorteado(SorteadoInfo sorteado) { infoS = sorteado; }