1: stopwatch.Start();
2: console.Text = "Loading all users...";
3: console.Text = LoadAllUser();
4: console.AppendText(Environment.NewLine);
5: console.AppendText("Abbiamo " + users.Count + " utenti da analizzare." + Environment.NewLine);
6: console.AppendText("Stopwatch è ad alta definizione? " + Stopwatch.IsHighResolution + Environment.NewLine);
7:
8: // Ciclo sui confronti su tutti gli utenti
9: // partendo nel ciclo interno dall'utente successivo a quello che sto analizzando
10: for (int i = 0; i < users.Count - 1; i++) {
11:
12: int User1ID = users[i].userid;
13: Dictionary<int, int> user1Vote = GetUserVote(User1ID); // Prendo i voti dell'utente 1
14:
15: for (int x = i + 1; x < users.Count; x++) {
16:
17: int User2ID = users[x].userid;
18: Dictionary<int, int> user2Vote = GetUserVote(User2ID); // Prendo i voti dell'utente 2
19:
20: // Unisco i voti dell'utente A a B in un unica lista
21: // (poichè il confronto tra A e B è uguale a quello di B con A)
22: Dictionary<int, SimilarityFilmsData> _tempMash = MashSimilarityFilmsUser(user1Vote, user2Vote);
23:
24: // Confronto i valori degli utenti
25: SimilarityResoult _temp = UserSimilaryty(_tempMash);
26:
27: // Controllo se ho almeno 5 voti in comune per poter fare un vero confronto ...
28: // Se si - salvo nel database il risultato. se no - non è rilavante e quindi continuo con i confronti
29: int nVote = _temp.countvote_disagree + _temp.countvote_discord + _temp.countvote_opposite + _temp.countvote_same + _temp.countvote_similar;
30: if (nVote >= 5) {
31: SaveInMysql(User1ID, User2ID, _temp);
32: row++;
33: }
34: }
35: }
36: console.AppendText("Time elapsed: " + stopwatch.Elapsed + Environment.NewLine + Environment.NewLine);
37: stopwatch.Stop();