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 static void ListaVendedor(int idsort) { ConcorrenteNegocio neg = new ConcorrenteNegocio(); ConcorrenteColecao colecao = (ConcorrenteColecao)neg.ExecutarConcorrente(enumCRUD.select, null, true); SorteioNegocio negSort = new SorteioNegocio(); SorteioColecao colSort = (SorteioColecao)negSort.ExecutarSorteio(enumCRUD.select); SorteioInfo infoSort = colSort.Where(w => w.sorteioid == idsort).FirstOrDefault(); BilheteColecao colB = (BilheteColecao)negSort.ExecutarBilhete(enumCRUD.select, new BilheteInfo { bilheteidconcorrente = new ConcorrenteInfo(), bilheteidsorteio = infoSort, bilheteidvendedor = new ConcorrenteInfo() }); if (colecao != null) { StringBuilder sb = new StringBuilder(); int total = colB.Count(); if (total > 0) { //adiciona os valores gerais //adiciona 2 nós com soma total de bilhete vendidos e o valor total sb.AppendLine("**TOTAL GERAL**"); sb.AppendLine("\t - Total de vendedores: " + string.Format("{0:000}", colB.GroupBy(gp => gp.bilheteidvendedor.concorrenteid).ToList().Count - 1)); sb.AppendLine("\t - Total de concorrentes: " + string.Format("{0:000}", colB.GroupBy(gp => gp.bilheteidconcorrente.concorrenteid).ToList().Count - 1)); sb.AppendLine("\t - Total de Bilhetes Vendidos: " + string.Format("{0:000}", total)); sb.AppendLine("\t\t - Valor Total Vendidos: " + string.Format("{0:C2}", total * infoSort.sorteiobilhetevalor)); sb.AppendLine(); } foreach (var item in colecao.OrderBy(o => o.concorrentenome)) { int totalBilhete = colB.Where(w => w.bilheteidvendedor.concorrenteid == item.concorrenteid).Count(); //adiciona os nomes dos vendedores sb.AppendLine(item.concorrentenome); if (totalBilhete > 0) { //adiciona 2 nós com soma total de bilhete vendidos e o valor total sb.AppendLine("\t - Total de Bilhetes Vendidos: " + string.Format("{0:000}", totalBilhete)); sb.AppendLine("\t\t - Valor Total Vendidos: " + string.Format("{0:C2}", totalBilhete * infoSort.sorteiobilhetevalor)); } BilheteColecao bc = new BilheteColecao(); foreach (var item1 in colB.Where(w => w.bilheteidvendedor.concorrenteid == item.concorrenteid).OrderBy(o => o.bilheteidconcorrente.concorrentenome)) { if (bc.Where(w => w.bilheteidconcorrente.concorrenteid == item1.bilheteidconcorrente.concorrenteid).FirstOrDefault() == null) { bc.Add(item1); int totalBilhete2 = colB.Where(w => w.bilheteidconcorrente.concorrenteid == item1.bilheteidconcorrente.concorrenteid && w.bilheteidvendedor.concorrenteid == item.concorrenteid).Count(); //adiciona os nomes dos compradores sb.AppendLine("\t\t\t" + item1.bilheteidconcorrente.concorrentenome); if (totalBilhete2 > 0) { sb.AppendLine("\t\t\t\t - Total de Bilhetes Comprados: " + string.Format("{0:000}", totalBilhete2)); sb.AppendLine("\t\t\t\t\t - Valor Total Comprados: " + string.Format("{0:C2}", totalBilhete2 * infoSort.sorteiobilhetevalor)); } } } } GravarTxt(sb.ToString(), "vendedores.txt"); } }
private void PreencherTree() { ConcorrenteNegocio neg = new ConcorrenteNegocio(); ConcorrenteColecao colecao = (ConcorrenteColecao)neg.ExecutarConcorrente(enumCRUD.select, null, true); BilheteInfo b = new BilheteInfo { bilheteidconcorrente = new ConcorrenteInfo(), bilheteidsorteio = infoSort, bilheteidvendedor = new ConcorrenteInfo() }; colB = (BilheteColecao)negSort.ExecutarBilhete(enumCRUD.select, b); if (colB != null) { colConcorrente = new ConcorrenteColecao(); foreach (var item in colB) { var cc = colConcorrente.Where(c => c.concorrenteid == item.bilheteidconcorrente.concorrenteid).FirstOrDefault(); if (cc == null) { colConcorrente.Add(item.bilheteidconcorrente); } } } treeView1.Nodes.Clear(); int num = 0; if (colecao != null) { foreach (var item in colecao.OrderBy(o => o.concorrentenome)) { num++; int num1 = 0; int totalBilhete = colB.Where(w => w.bilheteidvendedor.concorrenteid == item.concorrenteid).Count(); //adiciona os nomes dos vendedores treeView1.Nodes.Add(item.concorrentenome); if (totalBilhete > 0) { //adiciona 2 nós com soma total de bilhete vendidos e o valor total treeView1.Nodes[num - 1].Nodes.Add(" - Total de Bilhetes Vendidos: " + string.Format("{0:000}", totalBilhete)); treeView1.Nodes[num - 1].Nodes[0].Nodes.Add(" - Valor Total Vendidos: " + string.Format("{0:C2}", totalBilhete * infoSort.sorteiobilhetevalor)); } BilheteColecao bc = new BilheteColecao(); foreach (var item1 in colB.Where(w => w.bilheteidvendedor.concorrenteid == item.concorrenteid).OrderBy(o => o.bilheteidconcorrente.concorrentenome)) { if (bc.Where(w => w.bilheteidconcorrente.concorrenteid == item1.bilheteidconcorrente.concorrenteid).FirstOrDefault() == null) { num1++; bc.Add(item1); int totalBilhete2 = colB.Where(w => w.bilheteidconcorrente.concorrenteid == item1.bilheteidconcorrente.concorrenteid && w.bilheteidvendedor.concorrenteid == item.concorrenteid).Count(); //adiciona os nomes dos compradores treeView1.Nodes[num - 1].Nodes[0].Nodes[0].Nodes.Add(item1.bilheteidconcorrente.concorrentenome); if (totalBilhete2 > 0) { treeView1.Nodes[num - 1].Nodes[0].Nodes[0].Nodes[num1 - 1].Nodes.Add(" - Total de Bilhetes Comprados: " + string.Format("{0:000}", totalBilhete2)); treeView1.Nodes[num - 1].Nodes[0].Nodes[0].Nodes[num1 - 1].Nodes[0].Nodes.Add(" - Valor Total Comprados: " + string.Format("{0:C2}", totalBilhete2 * infoSort.sorteiobilhetevalor)); } } } } int total = colB.Count(); if (total > 0) { //adiciona os valores gerais treeView1.Nodes.Add("TOTAL GERAL**").NodeFont = new Font(treeView1.Font, FontStyle.Bold); treeView1.Nodes[num].ForeColor = Color.Maroon; //adiciona 2 nós com soma total de bilhete vendidos e o valor total treeView1.Nodes[num].Nodes.Add(" - Total de Bilhetes Vendidos: " + string.Format("{0:000}", total)).ForeColor = Color.Maroon; treeView1.Nodes[num].Nodes[0].Nodes.Add(" - Valor Total Vendidos: " + string.Format("{0:C2}", total * infoSort.sorteiobilhetevalor)).ForeColor = Color.Maroon; treeView1.Nodes[num].Expand(); treeView1.Nodes[num].Nodes[0].Expand(); treeView1.Nodes[num].Nodes[0].Nodes[0].Expand(); } } }