private async Task <Word> GetWordByFlashcardWord(FlashcardWord flashcardWord) { var query = new StoreIndexQuery <string> { Storename = DbConstants.StoreName, IndexName = DbConstants.Chinese, QueryValue = flashcardWord.Chinese }; return(await DbManager.GetRecordByIndex <string, Word>(query)); }
public async Task MoveFlashcard(FlashcardWord flashcardWord, int group) { StoreRecord <FlashcardWord> record; flashcardWord.Day = group; flashcardWord.LastTrainDate = DateTime.Now.Ticks; record = new StoreRecord <FlashcardWord> { Storename = DbConstants.FlashcardsStoreName, Data = flashcardWord }; await DbManager.UpdateRecord(record); }
private async Task <Word> GetRandomWordByGroup(int group) { var query = new StoreIndexQuery <int> { Storename = DbConstants.FlashcardsStoreName, IndexName = DbConstants.Day, QueryValue = group }; var flashcardWords = await DbManager.GetAllRecordsByIndex <int, FlashcardWord>(query); FlashcardWord flashcardWord = flashcardWords[rand.Next(flashcardWords.Count)]; return(await GetWordByFlashcardWord(flashcardWord)); }
public async Task <string> NextTrainDate(Word word) { FlashcardWord flashcardWord = await GetFlashcardWordByWord(word); DateTime lastTrainDate = new DateTime(flashcardWord.LastTrainDate); TimeSpan groupDays = new TimeSpan(flashcardWord.Day, 0, 0, 0); DateTime nextTrainDate = lastTrainDate.Add(groupDays); if (nextTrainDate > DateTime.Now) { return(lastTrainDate.Add(groupDays).ToLongDateString()); } else { return(ContentConstants.MessageWordCanTrain); } }