private async void StudyAction(string studyMode) { if (FlashCardSet.FlashcardCollection.Count == 0) { await new MessageDialog("You can't study an empty flashcard set! Add some cards to study.").ShowAsync(); return; } bool containsStarredCard = false; foreach (IndividualCardModel individualCard in FlashCardSet.FlashcardCollection) { if (individualCard.IsStarred) { containsStarredCard = true; break; } } if (!containsStarredCard) { await new MessageDialog("There are no starred cards in this set. Star some cards to study them, and leave any cards you don't want to study yet unstarred.").ShowAsync(); return; } string studyPage = null; string studyView = null; if (studyMode == "BasicStudyMode") { studyPage = "BasicStudyPage"; studyView = "StudyView"; } else if (studyMode == "FillBlankStudyMode") { studyPage = "FillBlankStudyPage"; studyView = "FillBlankStudyView"; } else if (studyMode == "MultipleChoiceStudyMode") { studyPage = "MultipleChoiceStudyPage"; studyView = "MultipleChoiceStudyView"; } else { return; } prNavigationService.NavigateTo(studyPage); Messenger.Default.Send(FlashCardSet, studyView); FlashCardSet.RegisterNewReviewSession(); DataAccess.EditCardSetRegisterNewReviewSession_UWP(FlashCardSet); }
public async Task <IActionResult> AddFlashCardSet([FromBody] FlashCardPayload payload) { string userId = _usermanager.GetUserId(User); if (payload.name == "") { return(new JsonResult(new { success = false, msg = "FlashCard name cannot be empty!" })); } foreach (FlashCard fc in payload.flashCards) { if (fc.Question == "" || fc.Answer == "") { return(new JsonResult(new { success = false, msg = "All flash card questions and answers must be filled!" })); } } try { FlashCardSet NewFlashCardSet = new FlashCardSet() { CardGroupID = new Guid(), Name = payload.name, FlashCards = payload.flashCards, Description = payload.description, UserId = userId }; _context.Add(NewFlashCardSet); await _context.SaveChangesAsync(); return(new JsonResult(new { success = true })); } catch { return(new JsonResult(new { success = false })); } }
private async void ImportSetFromFileAction() { FileOpenPicker openPicker = new FileOpenPicker(); openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; openPicker.FileTypeFilter.Add(".xlsx"); openPicker.FileTypeFilter.Add(".xls"); openPicker.FileTypeFilter.Add(".docx"); openPicker.FileTypeFilter.Add(".doc"); StorageFile file = await openPicker.PickSingleFileAsync(); if (file != null) { try { CancellationTokenSource cancelSource = new CancellationTokenSource(); Task <ContentDialogResult> loadingScreenTask = new LoadingDialog().ShowAsync().AsTask(cancelSource.Token); Task <CardSetModel> importingTask = ImportFlashcardService.ImportAddToExistingSet(file, cancelSource.Token, FlashCardSet.Clone()); Task firstToFinish = await Task.WhenAny(loadingScreenTask, importingTask); cancelSource.Cancel(); if (firstToFinish == importingTask) { CardSetModel updatedCardSetModel = await importingTask; prNavigationService.NavigateTo("EditSetPage"); Messenger.Default.Send(new Tuple <CardSetModel, CardSetModel>(FlashCardSet, updatedCardSetModel), "EditSetView"); } } catch (Exception ex) { await new MessageDialog(ex.Message).ShowAsync(); } } }