public String RateGame(string club) { string returtekst = ""; init(club, 20); if (brukerData.userObject != null) { returtekst = returtekst + "inne"; Models.SpillRangering rangering = new Models.SpillRangering(); string spillIDst = Request.QueryString["second"]; string spillRangeringst = Request.QueryString["first"]; int spillID, spillRangeringNum; if (Int32.TryParse(spillIDst, out spillID) && Int32.TryParse(spillRangeringst, out spillRangeringNum)) { IEnumerable <Models.SpillRangering> rangerte = (from m in databaseKontekst.rangeringer where m.spillID == spillID && m.spillerID == brukerData.userObject.spillerID select m).ToList(); if (rangerte.Count() > 0) { rangering = rangerte.FirstOrDefault(); } else { rangering.spillerID = brukerData.userObject.spillerID; rangering.spillID = spillID; databaseKontekst.rangeringer.Add(rangering); } rangering.rangering = spillRangeringNum; databaseKontekst.SaveChanges(); } } return(returtekst); }
// må sjekkes senere for effekter av login public ActionResult Boardgames(string club, string subaction) { init(club, 20); Models.Spill editspill = null; decimal[] backvalues; float[] backval; Models.SpillRangering rangert = null; if (subaction == "addgame") { editspill = new Models.Spill(); } else if (subaction == "editgame" || subaction == "viewgame") { int rediger; if (Int32.TryParse(Request["itemID"], out rediger)) { editspill = (from m in databaseKontekst.spillene where m.spillID == rediger select m).FirstOrDefault(); } } ViewBag.subaction = subaction; if (brukerData.userObject != null && editspill != null) { IEnumerable <Models.SpillRangering> rangerte = (from m in databaseKontekst.rangeringer where m.spillID == editspill.spillID && m.spillerID == brukerData.userObject.spillerID select m).ToList(); if (rangerte.Any()) { rangert = rangerte.FirstOrDefault(); } else { rangert = null; } } if ((brukerData.viewStatus < 2 || subaction == "viewgame") && editspill != null) { Models.SpillSeData nyeditspill = new Models.SpillSeData(); nyeditspill.spillet = editspill; nyeditspill.rangeringen = rangert; nyeditspill.rangeringsverdier = rangeringer; nyeditspill.sesjoner = (from m in databaseKontekst.spillsesjoner where m.spillID == editspill.spillID select m).ToList <Models.Spillsesjon>(); nyeditspill.rangertespillere = (from m in databaseKontekst.spillere select new Models.DisplayPlayerFront { spillerID = m.spillerID, spillernavn = m.fornavn, rating = 0 }).ToList <Models.DisplayPlayerFront>(); nyeditspill.urangerteselskap = (from m in databaseKontekst.selskaper select new Models.DisplaySelskapSpill { selskapID = m.selskapID, selskapsnavn = m.navn }).ToList <Models.DisplaySelskapSpill>(); nyeditspill.spilleronsker = (from m in databaseKontekst.rangeringer join k in databaseKontekst.spillere on m.spillerID equals k.spillerID where m.spillID == editspill.spillID select new Models.spillerRangeringList { rangering = m.rangering, spillerID = k.spillerID, spillernavn = k.fornavn + " " + k.etternavn }).OrderBy(x => x.rangering).ToList <Models.spillerRangeringList>(); nyeditspill.spillerID = 0; if (brukerData.userObject != null) { nyeditspill.spillerID = brukerData.userObject.spillerID; } foreach (Models.DisplayPlayerFront spillpunkt in nyeditspill.rangertespillere) { backvalues = Structures.BoardgamesHelper.calcRating(spillpunkt.spillerID, nyeditspill.sesjoner, 2, 100, false); spillpunkt.rating = (int)backvalues[0]; spillpunkt.average = (float)backvalues[1]; spillpunkt.winrate = (float)backvalues[2]; spillpunkt.lossrate = (float)backvalues[3]; } nyeditspill.rangertespillere.Sort(new Structures.SpillerFrontSorter()); nyeditspill.rangertefraksjoner = (from m in databaseKontekst.spillfraksjoner where m.spillID == editspill.spillID select new Models.DisplayFactionFront { fraksjonID = m.fraksjonID, fraksjonsavn = m.navn, rating = 0 }).ToList <Models.DisplayFactionFront>(); foreach (Models.DisplayFactionFront spillpunkt in nyeditspill.rangertefraksjoner) { backval = Structures.BoardgamesHelper.calcFactionRating(spillpunkt.fraksjonID, nyeditspill.sesjoner, 2, 100); spillpunkt.rating = (int)backval[0]; spillpunkt.average = backval[1]; } nyeditspill.rangertefraksjoner.Sort(new Structures.FactionFrontSorter()); return(View("Resviews/Boardgame", nyeditspill)); } else if (editspill == null) { return(View("SpillListe", databaseKontekst.spillene.ToList())); } else { Models.BoardgameReg sendedata = new Models.BoardgameReg(); sendedata.spillet = editspill; sendedata.rangeringen = rangert; sendedata.rangeringsverdier = rangeringer; sendedata.spillerID = 0; if (brukerData.userObject != null) { sendedata.spillerID = brukerData.userObject.spillerID; } List <Models.SelectListCustomItem> selskapsliste = new List <Models.SelectListCustomItem>(); IEnumerable <Models.Selskap> selskapene = databaseKontekst.selskaper.ToList(); selskapsliste.Add(new Models.SelectListCustomItem(0, "Ikke valgt")); foreach (Models.Selskap selskapet in selskapene) { selskapsliste.Add(new Models.SelectListCustomItem(selskapet.selskapID, selskapet.navn)); } sendedata.selskaper = selskapsliste; return(View(sendedata)); } }