Пример #1
0
 public KnowledgeLicense Update(KnowledgeLicense knowledgeLicense, KnowledgeQualitys knowledgeQuality)
 {
     if (IsEasyButEarlyToRepeat(knowledgeLicense, knowledgeQuality))
     {
         knowledgeQuality = KnowledgeQualitys.StillRemember;
     }
     return(knowledgeGaranter[knowledgeQuality].Grant(knowledgeLicense));
 }
Пример #2
0
        /// <summary>
        ///     This method for updating <see cref="UserWordPair" />'s learning period and time to learning
        ///     using PairKnowledges from IKnowledgeQualifier.
        /// </summary>
        /// <param name="userWordPairs"></param>
        /// <param name="PairKnowledges"></param>
        /// <returns></returns>
        private IEnumerable <UserWordPair> UpdateLicenseInformation(IEnumerable <UserWordPair> userWordPairs,
                                                                    Dictionary <int, KnowledgeQualitys> PairKnowledges)
        {
            // for every word pair in user dictionary
            foreach (UserWordPair userWordPair in userWordPairs)
            {
                // get quality from qualifier
                KnowledgeQualitys quality = PairKnowledges[userWordPair.WordPairId];

                // get wordpair license
                KnowledgeLicense knowledgeLicense = userWordPair.GetLicense();

                // update license by license and quality
                knowledgeLicense = knowledgeLicenseCalculator.Update(knowledgeLicense, quality);

                // set license in pair strucure
                userWordPair.SetLicense(knowledgeLicense);
            }

            return(userWordPairs);
        }
Пример #3
0
 private bool IsEasyButEarlyToRepeat(KnowledgeLicense knowledgeLicense, KnowledgeQualitys knowledgeQuality)
 {
     return(knowledgeQuality.Equals(KnowledgeQualitys.EasyToRemember) && IsNotGrantingTime(knowledgeLicense));
 }