private void btnGerar_Click(object sender, EventArgs e) { Modelo.SGCRPContexto contexto = new Modelo.SGCRPContexto(); Modelo.Copa copa = contexto.Copa.Find(Convert.ToInt32(cmbCopa.SelectedValue)); bool verifCopa = true; int qtdPremios; if (int.TryParse(txtPremiacao.Text, out qtdPremios)) { if (qtdPremios >= 0) { List <Modelo.PremioCopa> lstPremioCopa = copa.premioCopa.ToList(); if (lstPremioCopa.Count > 0) { if (DialogResult.Yes == MessageBox.Show("Você realmente deseja gerar novas premiações? Premiações antigas serão removidas!", "Gerar Novas Premiações", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { for (int i = 0; i < lstPremioCopa.Count; i++) { Modelo.PremioCopa premioCopa = contexto.PremioCopa.Find(lstPremioCopa[i].id); contexto.PremioCopa.Remove(premioCopa); contexto.SaveChanges(); } } else { verifCopa = false; } } if (verifCopa) { for (int i = 0; i < qtdPremios; i++) { Modelo.PremioCopa premioCopa = new Modelo.PremioCopa(); premioCopa.ordem = i + 1; premioCopa.copaID = copa.id; premioCopa.premio = 0; contexto.PremioCopa.Add(premioCopa); } contexto.SaveChanges(); carregarCampos(); } } else { MessageBox.Show("É necessário que a quantidade seja positiva!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPremiacao.Text = copa.premioCopa.Count.ToString(); txtPremiacao.Focus(); } } else { MessageBox.Show("Valor inválido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPremiacao.Text = copa.premioCopa.Count.ToString(); txtPremiacao.Focus(); } }
private void btnAplicar_Click(object sender, EventArgs e) { Modelo.SGCRPContexto contexto = new Modelo.SGCRPContexto(); Modelo.Copa copa = contexto.Copa.Find(Convert.ToInt32(cmbCopa.SelectedValue)); List <Modelo.CopaCompetidor> lstCopaCompetidor = copa.getCompetidores(true); //Este método já traz os competidores ordenado pela a pontuação total List <Modelo.PremioCopa> lstPremioCopa = copa.premioCopa.OrderBy(t => t.ordem).ToList(); for (int i = 0; i < lstPremioCopa.Count && i < lstCopaCompetidor.Count; i++) { Modelo.PremioCopa premioCopa = contexto.PremioCopa.Find(lstPremioCopa[i].id); premioCopa.campeonatoCompetidorID = lstCopaCompetidor[i].campeonatoCompetidorID; Modelo.CampeonatoCompetidor campeonatoCompetidor = contexto.CampeonatoCompetidor.Find(lstCopaCompetidor[i].campeonatoCompetidorID); campeonatoCompetidor.totalPremio += premioCopa.premio; contexto.Entry(premioCopa).State = System.Data.Entity.EntityState.Modified; contexto.Entry(campeonatoCompetidor).State = System.Data.Entity.EntityState.Modified; contexto.SaveChanges(); } Funcoes.Relatorios.relPremioCopa(copa.id); carregarCampos(); }
private void mudarPremio(DataGridViewCellEventArgs e) { Modelo.SGCRPContexto contexto = new Modelo.SGCRPContexto(); int ordem = Convert.ToInt32(dgvPremiacao["ordem", e.RowIndex].Value); int copaID = Convert.ToInt32(cmbCopa.SelectedValue); Modelo.PremioCopa premioCopa = contexto.PremioCopa.FirstOrDefault(p => p.copaID == copaID && p.ordem == ordem); float novoPremio; if (float.TryParse(dgvPremiacao["premio", e.RowIndex].Value.ToString().Replace("R", "").Replace("$", "").Replace(" ", ""), out novoPremio)) { premioCopa.premio = novoPremio; contexto.Entry(premioCopa).State = System.Data.Entity.EntityState.Modified; contexto.SaveChanges(); dgvPremiacao["premio", e.RowIndex].Value = "R$" + novoPremio.ToString("0.00"); } else { dgvPremiacao["premio", e.RowIndex].Value = "R$" + premioCopa.premio.ToString("0.00"); } }
private void removerPremios() { Modelo.SGCRPContexto contexto = new Modelo.SGCRPContexto(); Modelo.Copa copa = contexto.Copa.Find(Convert.ToInt32(cmbCopa.SelectedValue)); List <Modelo.PremioCopa> lstPremioCopa = copa.premioCopa.OrderBy(t => t.ordem).ToList(); for (int i = 0; i < lstPremioCopa.Count; i++) { if (lstPremioCopa[i].campeonatoCompetidorID != null) { Modelo.PremioCopa premioCopa = contexto.PremioCopa.Find(lstPremioCopa[i].id); Modelo.CampeonatoCompetidor campeonatoCompetidor = contexto.CampeonatoCompetidor.Find(premioCopa.campeonatoCompetidorID); premioCopa.campeonatoCompetidorID = null; campeonatoCompetidor.totalPremio -= premioCopa.premio; contexto.Entry(campeonatoCompetidor).State = System.Data.Entity.EntityState.Modified; contexto.Entry(premioCopa).State = System.Data.Entity.EntityState.Modified; contexto.Entry(premioCopa); contexto.SaveChanges(); } } carregarCampos(); MessageBox.Show("Premiação Removida dos Competidores", "Prêmios Removidos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }