public void UpdateIgracUtakmicaSingle(EvidencijaMeca obj, int pobjednik) { Tip_Rezultata pobjeda = db.TipoviRezultata.AsNoTracking().Where(c => c.Naziv == "Pobjeda").FirstOrDefault(); Tip_Rezultata poraz = db.TipoviRezultata.AsNoTracking().Where(c => c.Naziv == "Poraz").FirstOrDefault(); Igrac_Utakmica x = db.IgraciUtakmice .AsNoTracking() .Where(c => c.IgID == obj.Tim1[0].IgID).FirstOrDefault(); x.OsvojeniSetovi = obj.RezultatTim1.GetValueOrDefault(); int xs = (pobjednik == 1) ? 1 : 0; // predstavlja score x - naziv ucesca, slovo s - score Igrac_Utakmica y = db.IgraciUtakmice .AsNoTracking() .Where(c => c.IgID == obj.Tim2[0].IgID).FirstOrDefault(); y.OsvojeniSetovi = obj.RezultatTim2.GetValueOrDefault(); int ys = (pobjednik == 2) ? 1 : 0; // predstavlja score y - naziv ucesca, slovo s - score Igrac xigrac = db.Igraci.AsNoTracking().Where(c => c.ID == x.IgracID).FirstOrDefault(); Igrac yigrac = db.Igraci.AsNoTracking().Where(c => c.ID == y.IgracID).FirstOrDefault(); x.PristupniElo = xigrac.ELO; y.PristupniElo = yigrac.ELO; string X = "pobjeda"; string Y = "poraz"; if (xs == 1) { x.TipRezultata = pobjeda; y.TipRezultata = poraz; } else { x.TipRezultata = poraz; y.TipRezultata = pobjeda; X = "poraz"; Y = "pobjeda"; } UpdateStatistikuIStanjePrijave(x.IgracID ?? default(int), X == "pobjeda" ? true : false, false); UpdateStatistikuIStanjePrijave(y.IgracID ?? default(int), Y == "pobjeda" ? true : false, false); db.Update(x); db.Update(y); db.SaveChanges(); xigrac.ELO = ELOCalculator.VratiEloSingle(x.PristupniElo.GetValueOrDefault(), y.PristupniElo.GetValueOrDefault(), xs); yigrac.ELO = ELOCalculator.VratiEloSingle(y.PristupniElo.GetValueOrDefault(), x.PristupniElo.GetValueOrDefault(), ys); db.Igraci.Where(c => c.ID == xigrac.ID).FirstOrDefault().ELO = xigrac.ELO; db.SaveChanges(); db.Igraci.Where(c => c.ID == yigrac.ID).FirstOrDefault().ELO = yigrac.ELO; db.SaveChanges(); return; }
public void UpdateIgracUtakmicaDouble(EvidencijaMeca obj, int pobjednik) { Tip_Rezultata pobjeda = db.TipoviRezultata.AsNoTracking().Where(x => x.Naziv == "Pobjeda").FirstOrDefault(); Tip_Rezultata poraz = db.TipoviRezultata.AsNoTracking().Where(x => x.Naziv == "Poraz").FirstOrDefault(); Igrac_Utakmica x1 = db.IgraciUtakmice.AsNoTracking() .Where(x => x.IgID == obj.Tim1[0].IgID).FirstOrDefault(); Igrac_Utakmica x2 = db.IgraciUtakmice.AsNoTracking() .Where(x => x.IgID == obj.Tim1[1].IgID).FirstOrDefault(); x1.OsvojeniSetovi = obj.RezultatTim1.GetValueOrDefault(); x2.OsvojeniSetovi = obj.RezultatTim1.GetValueOrDefault(); int xs = (pobjednik == 1) ? 1 : 0; // predstavlja score x - naziv ucesca, slovo s - score Igrac_Utakmica y1 = db.IgraciUtakmice.AsNoTracking() .Where(x => x.IgID == obj.Tim2[0].IgID).FirstOrDefault(); Igrac_Utakmica y2 = db.IgraciUtakmice.AsNoTracking() .Where(x => x.IgID == obj.Tim2[1].IgID).FirstOrDefault(); y1.OsvojeniSetovi = obj.RezultatTim2.GetValueOrDefault(); y2.OsvojeniSetovi = obj.RezultatTim2.GetValueOrDefault(); int ys = (pobjednik == 2) ? 1 : 0; // predstavlja score x - naziv ucesca, slovo s - score Igrac x1igrac = db.Igraci.AsNoTracking().Where(c => c.ID == x1.IgracID).FirstOrDefault(); Igrac x2igrac = db.Igraci.AsNoTracking().Where(c => c.ID == x2.IgracID).FirstOrDefault(); Igrac y1igrac = db.Igraci.AsNoTracking().Where(c => c.ID == y1.IgracID).FirstOrDefault(); Igrac y2igrac = db.Igraci.AsNoTracking().Where(c => c.ID == y2.IgracID).FirstOrDefault(); x1.PristupniElo = x1igrac.ELO; x2.PristupniElo = x2igrac.ELO; y1.PristupniElo = y1igrac.ELO; y2.PristupniElo = y2igrac.ELO; string X = "pobjeda"; string Y = "poraz"; if (xs == 1) { x1.TipRezultata = pobjeda; x2.TipRezultata = pobjeda; y1.TipRezultata = poraz; y2.TipRezultata = poraz; } else { x1.TipRezultata = poraz; x2.TipRezultata = poraz; y1.TipRezultata = pobjeda; y2.TipRezultata = pobjeda; X = "poraz"; Y = "pobjeda"; } UpdateStatistikuIStanjePrijave(x1.IgracID ?? default(int), X == "pobjeda" ? true : false, true); UpdateStatistikuIStanjePrijave(x2.IgracID ?? default(int), X == "pobjeda" ? true : false, true); UpdateStatistikuIStanjePrijave(y1.IgracID ?? default(int), Y == "pobjeda" ? true : false, true); UpdateStatistikuIStanjePrijave(y2.IgracID ?? default(int), Y == "pobjeda" ? true : false, true); db.IgraciUtakmice.Update(x1); db.IgraciUtakmice.Update(x2); db.IgraciUtakmice.Update(y1); db.IgraciUtakmice.Update(y2); db.SaveChanges(); x1igrac.ELO = ELOCalculator.VratiEloDouble( x1.PristupniElo.GetValueOrDefault(), x2.PristupniElo.GetValueOrDefault(), y1.PristupniElo.GetValueOrDefault(), y2.PristupniElo.GetValueOrDefault(), xs); x2igrac.ELO = ELOCalculator.VratiEloDouble( x2.PristupniElo.GetValueOrDefault(), x1.PristupniElo.GetValueOrDefault(), y1.PristupniElo.GetValueOrDefault(), y2.PristupniElo.GetValueOrDefault(), xs); y1igrac.ELO = ELOCalculator.VratiEloDouble( y1.PristupniElo.GetValueOrDefault(), y2.PristupniElo.GetValueOrDefault(), x1.PristupniElo.GetValueOrDefault(), x2.PristupniElo.GetValueOrDefault(), ys); y2igrac.ELO = ELOCalculator.VratiEloDouble( y2.PristupniElo.GetValueOrDefault(), y1.PristupniElo.GetValueOrDefault(), x1.PristupniElo.GetValueOrDefault(), x2.PristupniElo.GetValueOrDefault(), ys); db.Igraci.Where(x => x.ID == x1igrac.ID).FirstOrDefault().ELO = x1igrac.ELO; db.Igraci.Where(x => x.ID == x2igrac.ID).FirstOrDefault().ELO = x2igrac.ELO; db.Igraci.Where(x => x.ID == y1igrac.ID).FirstOrDefault().ELO = y1igrac.ELO; db.Igraci.Where(x => x.ID == y2igrac.ID).FirstOrDefault().ELO = y2igrac.ELO; db.SaveChanges(); }