public IActionResult CreateFolderSuccess(string Id) { var folder = _folderRepository.GetFolderById(Id); var flashcardFolderInfoViewModel = new FlashcardFolderInfoViewModel { Name = folder.FolderName, FlashcardFolderId = Id }; return(View(flashcardFolderInfoViewModel)); }
public async Task <IActionResult> CreateFolder(FlashcardFolderInfoViewModel flashcardFolderInfoViewModel) { if (ModelState.IsValid) { var folder = new FlashcardFolder { FolderName = flashcardFolderInfoViewModel.Name, Subject = flashcardFolderInfoViewModel.Subject, Description = flashcardFolderInfoViewModel.Description, Id = flashcardFolderInfoViewModel.FlashcardFolderId }; var success = _folderRepository.CreateFolder(folder); if (success) { var user = await _userManager.GetUserAsync(HttpContext.User); //probably want to change user.flashcardfolderids to a list, this is messy and confusing // if (user.FlashcardFolderIds != null) { var oldIds = user.FlashcardFolderIds; // If the user deletes all their folderIds, the database leaves an empty string in their folderId column. // (Probably bc of serialization of the enumerable) // Replacing user.FlashcardFolderIds that has "" at index 0 is the same as starting a new list. if (oldIds[0] == "") { var newIds = new List <string> { flashcardFolderInfoViewModel.FlashcardFolderId }; user.FlashcardFolderIds = newIds; } else { user.FlashcardFolderIds.Add(flashcardFolderInfoViewModel.FlashcardFolderId); } } else { user.FlashcardFolderIds = new List <string> { flashcardFolderInfoViewModel.FlashcardFolderId }; } await _userManager.UpdateAsync(user); return(RedirectToAction("CreateFolderSuccess", new { Id = flashcardFolderInfoViewModel.FlashcardFolderId })); } } TempData["ErrorMessage"] = "Something happened and we couldn't create that folder. Make sure you filled in every field, then try again."; return(RedirectToAction("CreateFolder", new { Id = flashcardFolderInfoViewModel.FlashcardFolderId })); }
public IActionResult EditFolder(string Id) { var folder = _folderRepository.GetFolderById(Id); var flashcardFolderInfoViewModel = new FlashcardFolderInfoViewModel { Name = folder.FolderName, Subject = folder.Subject, Description = folder.Description, FlashcardFolderId = folder.Id }; return(View(flashcardFolderInfoViewModel)); }
public IActionResult FolderDetails(string Id) { ViewBag.UserMessage = TempData["UserMessage"]; var folder = _folderRepository.GetFolderById(Id); var flashcardFolderInfoViewModel = new FlashcardFolderInfoViewModel { Name = folder.FolderName, Subject = folder.Subject, Description = folder.Description, FlashcardFolderId = folder.Id }; return(View(flashcardFolderInfoViewModel)); }
public IActionResult CreateFolder(string Id) { if (TempData["ErrorMessage"] != null) { ViewBag.ErrorMessage = TempData["ErrorMessage"]; } var flashcardFolderInfoViewModel = new FlashcardFolderInfoViewModel { Name = "", Subject = "", Description = "Type a description of your Folder here", FlashcardFolderId = Id }; return(View(flashcardFolderInfoViewModel)); }
public IActionResult EditFolder(FlashcardFolderInfoViewModel flashcardFolderInfoViewModel) { if (ModelState.IsValid) { var folder = new FlashcardFolder { FolderName = flashcardFolderInfoViewModel.Name, Subject = flashcardFolderInfoViewModel.Subject, Description = flashcardFolderInfoViewModel.Description, Id = flashcardFolderInfoViewModel.FlashcardFolderId }; var success = _folderRepository.UpdateFolder(folder); if (success) { TempData["UserMessage"] = "Folder updated!"; return(RedirectToAction("FolderDetails", new { Id = flashcardFolderInfoViewModel.FlashcardFolderId })); } } ModelState.AddModelError("EditFolderFailed", "Unable to make your changes. Please make sure every field is filled in, then try again."); return(View(flashcardFolderInfoViewModel)); }