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 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); }