public void RootRecover(MVPUser user, string title) { UserName = "******"; EmailConfirmed = true; Title = title; HasASite = !string.IsNullOrWhiteSpace(user.SiteName); }
//[Route("Index")] //public async Task<IActionResult> Index() //{ // var user = await GetCurrentUserAsync(); // var sites = await _sitesService.ViewMySitesAsync(await accesstoken); // if (string.IsNullOrEmpty(user.SiteName) || !sites.Sites.Any(t => t.SiteName == user.SiteName)) // { // return RedirectToAction(nameof(CreateSite)); // } // var model = new IndexViewModel(user) // { // SiteName = user.SiteName // }; // return View(model); //} //[Route("CreateSite")] //public async Task<IActionResult> CreateSite() //{ // var user = await GetCurrentUserAsync(); // var sites = await _sitesService.ViewMySitesAsync(await accesstoken); // if (!string.IsNullOrEmpty(user.SiteName) && sites.Sites.Any(t => t.SiteName == user.SiteName)) // { // return RedirectToAction(nameof(Index)); // } // var model = new CreateSiteViewModel(user) // { // }; // return View(model); //} //[HttpPost] //[ValidateAntiForgeryToken] //[Route("CreateSite")] //public async Task<IActionResult> CreateSite(CreateSiteViewModel model) //{ // var user = await GetCurrentUserAsync(); // if (!ModelState.IsValid) // { // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } // try // { // await _sitesService.CreateNewSiteAsync(await accesstoken, model.SiteName, model.OpenToUpload, model.OpenToDownload); // user.SiteName = model.SiteName; // await _dbContext.SaveChangesAsync(); // return RedirectToAction(nameof(Index)); // } // catch (AiurUnexceptedResponse e) // { // ModelState.AddModelError(string.Empty, e.Response.Message); // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } //} //[Route("ViewFiles/{**path}")] //public async Task<IActionResult> ViewFiles(string path, bool justHaveUpdated) //{ // var user = await GetCurrentUserAsync(); // if (string.IsNullOrWhiteSpace(user.SiteName)) // { // return RedirectToAction(nameof(CreateSite)); // } // try // { // var data = await _foldersService.ViewContentAsync(await accesstoken, user.SiteName, path); // var model = new ViewFilesViewModel(user) // { // Folder = data.Value, // Path = path, // SiteName = user.SiteName, // JustHaveUpdated = justHaveUpdated // }; // return View(model); // } // catch (AiurUnexceptedResponse e) when (e.Code == ErrorType.NotFound) // { // return NotFound(); // } //} //[Route("NewFolder/{**path}")] //public async Task<IActionResult> NewFolder(string path) //{ // var user = await GetCurrentUserAsync(); // var model = new NewFolderViewModel(user) // { // Path = path // }; // return View(model); //} //[HttpPost] //[Route("NewFolder/{**path}")] //public async Task<IActionResult> NewFolder(NewFolderViewModel model) //{ // var user = await GetCurrentUserAsync(); // if (!ModelState.IsValid) // { // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } // try // { // await _foldersService.CreateNewFolderAsync(await accesstoken, user.SiteName, model.Path, model.NewFolderName, false); // return RedirectToAction(nameof(ViewFiles), new { path = model.Path }); // } // catch (AiurUnexceptedResponse e) // { // ModelState.AddModelError(string.Empty, e.Response.Message); // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } //} //[Route("DeleteFolder/{**path}")] //public async Task<IActionResult> DeleteFolder([FromRoute]string path) //{ // var user = await GetCurrentUserAsync(); // var model = new DeleteFolderViewModel(user) // { // Path = path // }; // return View(model); //} //[HttpPost] //[Route("DeleteFolder/{**path}")] //public async Task<IActionResult> DeleteFolder(DeleteFolderViewModel model) //{ // var user = await GetCurrentUserAsync(); // if (!ModelState.IsValid) // { // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } // try // { // await _foldersService.DeleteFolderAsync(await accesstoken, user.SiteName, model.Path); // return RedirectToAction(nameof(ViewFiles), new { path = model.Path.DetachPath() }); // } // catch (AiurUnexceptedResponse e) // { // ModelState.AddModelError(string.Empty, e.Response.Message); // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } //} //[Route("DeleteFile/{**path}")] //public async Task<IActionResult> DeleteFile([FromRoute]string path) //{ // var user = await GetCurrentUserAsync(); // var model = new DeleteFileViewModel(user) // { // Path = path // }; // return View(model); //} //[HttpPost] //[Route("DeleteFile/{**path}")] //public async Task<IActionResult> DeleteFile(DeleteFileViewModel model) //{ // var user = await GetCurrentUserAsync(); // if (!ModelState.IsValid) // { // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } // try // { // await _filesService.DeleteFileAsync(await accesstoken, user.SiteName, model.Path); // return RedirectToAction(nameof(ViewFiles), new { path = model.Path.DetachPath() }); // } // catch (AiurUnexceptedResponse e) // { // ModelState.AddModelError(string.Empty, e.Response.Message); // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } //} //[Route("Delete")] //public async Task<IActionResult> Delete() //{ // var user = await GetCurrentUserAsync(); // var model = new DeleteViewModel(user) // { // SiteName = user.SiteName // }; // return View(model); //} //[Route("Delete")] //[HttpPost] //public async Task<IActionResult> Delete(DeleteViewModel model) //{ // var user = await GetCurrentUserAsync(); // if (!ModelState.IsValid) // { // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } // try // { // await _sitesService.DeleteSiteAsync(await accesstoken, user.SiteName); // user.SiteName = string.Empty; // await _dbContext.SaveChangesAsync(); // return RedirectToAction(nameof(CreateSite)); // } // catch (AiurUnexceptedResponse e) // { // ModelState.AddModelError(string.Empty, e.Response.Message); // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } //} //[Route("Settings")] //public async Task<IActionResult> Settings(bool justHaveUpdated) //{ // var user = await GetCurrentUserAsync(); // var sites = await _sitesService.ViewMySitesAsync(await accesstoken); // var hasASite = !string.IsNullOrEmpty(user.SiteName) && sites.Sites.Any(t => t.SiteName == user.SiteName); // if (hasASite) // { // var siteDetail = await _sitesService.ViewSiteDetailAsync(await accesstoken, user.SiteName); // var model = new SettingsViewModel(user) // { // SiteSize = siteDetail.Size, // HasASite = true, // JustHaveUpdated = justHaveUpdated, // NewSiteName = siteDetail.Site.SiteName, // OldSiteName = siteDetail.Site.SiteName, // OpenToDownload = siteDetail.Site.OpenToDownload, // OpenToUpload = siteDetail.Site.OpenToUpload // }; // return View(model); // } // else // { // var model = new SettingsViewModel(user) // { // HasASite = false, // JustHaveUpdated = justHaveUpdated // }; // return View(model); // } //} //[HttpPost] //[Route("Settings")] //public async Task<IActionResult> Settings(SettingsViewModel model) //{ // var user = await GetCurrentUserAsync(); // if (!ModelState.IsValid) // { // model.ModelStateValid = false; // model.Recover(user); // return View(model); // } // try // { // var token = await _appsContainer.AccessToken(); // await _sitesService.UpdateSiteInfoAsync(token, model.OldSiteName, model.NewSiteName, model.OpenToUpload, model.OpenToDownload); // user.SiteName = model.NewSiteName; // await _dbContext.SaveChangesAsync(); // return RedirectToAction(nameof(DashboardController.Settings), "Dashboard", new { JustHaveUpdated = true }); // } // catch (AiurUnexceptedResponse e) // { // ModelState.AddModelError(string.Empty, e.Response.Message); // model.ModelStateValid = false; // model.Recover(user); // model.NewSiteName = model.OldSiteName; // return View(model); // } //} private async Task <MVPUser> GetCurrentUserAsync() { var id = User.Claims.SingleOrDefault(t => t.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").Value; var name = User.Claims.SingleOrDefault(t => t.Type == "name")?.Value; var user = await _dbContext.Users.SingleOrDefaultAsync(t => t.Id == id); if (user == null) { var newUser = new MVPUser { Id = id, SiteName = string.Empty, }; _dbContext.Users.Add(newUser); await _dbContext.SaveChangesAsync(); } return(user); }
public DeleteFolderViewModel(MVPUser user) : base(user, "Delete folder") { }
public void Recover(MVPUser user) { RootRecover(user, "Create new folder"); }
public NewFolderViewModel(MVPUser user) : base(user, "Create new folder") { }
public void Recover(MVPUser user) { RootRecover(user, "Settings"); }
public SettingsViewModel(MVPUser user) : base(user, "Settings") { }
public void Recover(MVPUser user) { RootRecover(user, "Create organization"); }
public CreateSiteViewModel(MVPUser user) : base(user, "Quick upload") { }
public DeleteFileViewModel(MVPUser user) : base(user, "Delete file") { }
public IndexViewModel(MVPUser user) : base(user, "Quick upload") { }
public DeleteViewModel(MVPUser user) : base(user, "Delete site") { }
public AllOrgsViewModel(MVPUser user) : base(user, "Quick upload") { }
public LayoutViewModel(MVPUser user, string title) { RootRecover(user, title); }
public void Recover(MVPUser user) { RootRecover(user, "Delete file"); }
public void Recover(MVPUser user) { RootRecover(user, "Quick upload"); }
public ViewFilesViewModel(MVPUser user) : base(user, "View files") { }
public CreateOrgViewModel(MVPUser user) : base(user, "Create organization") { }