public string Post(Wordlist sanalista) { if (sanalista.Guesses.Length < 1 || (sanalista.Guesses.Length == 1 && string.IsNullOrWhiteSpace(sanalista.Guesses[0]))) { Game t = new Game() { kokonaispisteet = 0, original = sanalista.Original, list = new List <Guess>() }; string tyhjäpeli = JsonConvert.SerializeObject(t); Statistics s = new Statistics() { json = tyhjäpeli, Time = null }; db.Add(s); db.SaveChanges(); //palauta yllä oleva peliToJson klientille return(tyhjäpeli); } else { sanalista = APIUtils.PoistaTurhat(sanalista); //poistaa turhat merkit var guessesilmantuplia = sanalista.Guesses.Distinct().ToArray(); Wordlist distinctlist = new Wordlist() { Guesses = guessesilmantuplia, Original = sanalista.Original }; sanalista = distinctlist; string json = JsonConvert.SerializeObject(sanalista); //APIUtils.RemovePunctuation(json); // postaa olio azurefunktiolle Scoretable scoresFromAzure = GetScores(json); //tähän tulee azuresta palautuva json (joka on pelkkä numero-array) //yhdistä sanat ja pisteet Guess-olioiksi, jotka laitetaan Peli-olioon List <Guess> listToPeliClass = new List <Guess>(); // tee sanoista guess-olioita, jotka tallennetaan listaan. int kokonaispisteet = 0; for (int i = 0; i < sanalista.Guesses.Length; i++) { Guess g = new Guess(); g.word = sanalista.Guesses[i]; if (sanalista.Guesses[i] == sanalista.Original) { g.score = 0; } else { g.score = scoresFromAzure.ScoreTable[i]; } kokonaispisteet += scoresFromAzure.ScoreTable[i]; if (kokonaispisteet < 0) { kokonaispisteet = 0; } listToPeliClass.Add(g); } Game peli = new Game() { original = sanalista.Original, list = listToPeliClass, kokonaispisteet = kokonaispisteet }; string peliToJson = JsonConvert.SerializeObject(peli); Statistics stat = new Statistics() { json = peliToJson, Time = null }; db.Add(stat); db.SaveChanges(); //palauta yllä oleva peliToJson klientille return(peliToJson); } // parseroi azurefunkion palauttama json peli-olioksi(original, guesses-taulukko) }