private async Task <GrantAccessToFoldersViewModel> ReinitializeUsersAndFolders(GrantAccessToFoldersViewModel model) { var currUser = await UserManager.FindByIdAsync(User.Identity.GetUserId()); var grantAccessVM = new GrantAccessToFoldersViewModel { AllDropboxFolders = dropboxAccountService.GetSelectListItemOfAllFolders(currUser), FoundAppUsers = model.FoundAppUsers == null ? new List <string>() : model.FoundAppUsers }; return(grantAccessVM); }
public async Task <ActionResult> GrantAccessToFolders(GrantAccessToFoldersViewModel model) { if (ModelState.IsValid) { var grantAccessDTO = new GrantAccessDTO { CurrUser = await UserManager.FindByIdAsync(User.Identity.GetUserId()), Folders = model.SelectedDropboxFolders, Users = model.FoundAppUsers }; try { var errorSink = grantAccessService.GrantAccessToFolders(grantAccessDTO); if (errorSink.HasErrors()) { foreach (var error in errorSink.ErrorsList) { AddErrors(error.ToString()); } return(View(await ReinitializeUsersAndFolders(model))); } } catch (GrantAccessToFolderException ex) { AddErrors(ex.Message); return(View(await ReinitializeUsersAndFolders(model))); } return(RedirectToAction("SuccessfulGranting")); } else { return(View(await ReinitializeUsersAndFolders(model))); } }