public async Task <IActionResult> CreateBucket([FromForm] CreateBucketViewModel model) { var cuser = await GetCurrentUserAsync(); if (!ModelState.IsValid) { model.ModelStateValid = false; model.Recover(this, cuser); return(View(model)); } var app = await _dbContext.Apps.FindAsync(model.AppId); if (app == null) { return(NotFound()); } try { var token = await _appsContainer.AccessToken(app.AppId, app.AppSecret); var result = await _ossApiService.CreateBucketAsync(token, model.NewBucketName, model.OpenToRead, model.OpenToUpload); return(RedirectToAction(nameof(AppsController.ViewApp), "Apps", new { id = app.AppId, JustHaveUpdated = true })); } catch (AiurUnexceptedResponse e) { ModelState.AddModelError(string.Empty, e.Response.Message); model.ModelStateValid = false; model.Recover(this, cuser); return(View(model)); } }
public async Task <JsonResult> CreateBucket([FromForm] CreateBucketAddressModel model) { //Update app info var app = await APIService.ValidateAccessTokenAsync(model.AccessToken); var appLocal = await _dbContext.Apps.Include(t => t.MyBuckets).SingleOrDefaultAsync(t => t.AppId == app.AppId); if (appLocal == null) { appLocal = new OSSApp { AppId = app.AppId, MyBuckets = new List <Bucket>() }; _dbContext.Apps.Add(appLocal); } //Ensure not exists var existing = await _dbContext.Bucket.SingleOrDefaultAsync(t => t.BucketName == model.BucketName); if (existing != null) { return(Json(new AiurProtocal { code = ErrorType.NotEnoughResources, message = "There is one bucket already called that name!" })); } //Create and save to database var newBucket = new Bucket { BucketName = model.BucketName, Files = new List <OSSFile>(), OpenToRead = model.OpenToRead, OpenToUpload = model.OpenToUpload }; appLocal.MyBuckets.Add(newBucket); await _dbContext.SaveChangesAsync(); //Create an empty folder string DirectoryPath = GetCurrentDirectory() + $@"{_}Storage{_}{newBucket.BucketName}{_}"; if (Directory.Exists(DirectoryPath) == false) { Directory.CreateDirectory(DirectoryPath); } //return model var viewModel = new CreateBucketViewModel { BucketId = newBucket.BucketId, code = ErrorType.Success, message = "Successfully created your buckets!" }; return(Json(viewModel)); }
public async Task <IActionResult> CreateBucket(string id)//AppId { var cuser = await GetCurrentUserAsync(); var viewModel = new CreateBucketViewModel(this, cuser) { AppId = id, }; return(View(viewModel)); }
public async void Execute(object parameter) { CreateBucketViewModel createBucketViewModel = parameter as CreateBucketViewModel; try { await _bucketService.CreateBucketAsync(createBucketViewModel.BucketName); } catch (Exception ex) { Windows.UI.Popups.MessageDialog dialog = new Windows.UI.Popups.MessageDialog("Could not create bucket - " + ex.Message); await dialog.ShowAsync(); return; } var frame = (Windows.UI.Xaml.Controls.Frame)Windows.UI.Xaml.Window.Current.Content; frame.Navigate(typeof(BucketListPage)); }
public CreateBucketPage() { this.InitializeComponent(); this.DataContext = _vm = new CreateBucketViewModel(Factory.BucketService); _vm.DoneLoading(); }