Beispiel #1
0
        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);
        }
Beispiel #2
0
        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)));
            }
        }