Beispiel #1
0
 public void UpdateWordKnowledge(WordKnowledge knowledge)
 {
     // Equals ovveride bez sprawdzania level, więc szuka tylko krotki wg.: id_front, id_back, id_user
     // Check czy user już sie tego uczył
     if (WordKnowledgeExists(knowledge))
     {
         // Edycja (użycie Update)
         var oldLevel = WordKnowledges[WordKnowledges.IndexOf(knowledge)];
         // Czy zmienił poziom w danej krotce
         if (oldLevel.Knowledge != knowledge.Knowledge)
         {
             // Jeśli tak to edytuj w bazie
             if (SetOfWordKnwoledges.EditWordKnowledge(knowledge, oldLevel.Id))
             {
                 // i edytuj w kolekcji
                 knowledge.Id = oldLevel.Id;
                 WordKnowledges[WordKnowledges.IndexOf(oldLevel)] = knowledge;
             }
         }
     }
     else // Jeśli nowa krotka to
     {
         // Dodaj nowe ( użycie SetOf...Add (index się doda))
         if (SetOfWordKnwoledges.AddWordKnowledge(knowledge))
         {
             // Dodaj do listy (z indexem)
             WordKnowledges.Add(knowledge);
         }
     }
 }
 private bool Match(Word wordA, Word wordB, WordKnowledge wordKnowledge)
 {
     if (wordA.GUID == wordB.GUID && wordKnowledge.Id_word_back == wordB.Id && wordKnowledge.Id_word_front == wordA.Id)
     {
         return(true);
     }
     return(false);
 }
Beispiel #3
0
 public virtual IList <WordKnowledge> Qualify()
 {
     if (chached)
     {
         return(wordKnowledges);
     }
     chached = true;
     WordIdOpenCount.ForEach((metric) =>
     {
         WordKnowledge wordKnowledge = new WordKnowledge(metric.Key, LevelFromMetric(metric.Value), GetComplexity(Type));
         wordKnowledges.Add(wordKnowledge);
     });
     return(wordKnowledges);
 }
Beispiel #4
0
        public static bool AddWordKnowledge(WordKnowledge wk)
        {
            bool state = false;

            using (var connection = DBConnection.Instance.Connection)
            {
                MySqlCommand cmd = new MySqlCommand($"{query.add_word_knowledge} {wk.ToInsert()}", connection);
                connection.Open();
                var id = cmd.ExecuteNonQuery();
                state = true;
                wk.Id = (ulong)cmd.LastInsertedId;
                connection.Close();
            }
            return(state);
        }
Beispiel #5
0
        public static bool EditWordKnowledge(WordKnowledge wk, ulong?idWk)
        {
            bool state = false;

            using (var connection = DBConnection.Instance.Connection)
            {
                // Aktualizacja krotki (jeśli wymagana) w miejscu poprzednika (zmiana tylko knowledge)
                string       AKTUALIZUJ_POZIOM = $"UPDATE wordknowledge SET knowledge={wk.Knowledge} WHERE ID={idWk}";
                MySqlCommand cmd = new MySqlCommand(AKTUALIZUJ_POZIOM, connection);
                connection.Open();
                var n = cmd.ExecuteNonQuery();
                if (n == 1)
                {
                    state = true;
                }

                connection.Close();
            }
            return(state);
        }
Beispiel #6
0
 public bool WordKnowledgeExists(WordKnowledge wk) => WordKnowledges.Contains(wk);