public async Task <IActionResult> CreateNewSite(CreateNewSiteAddressModel model) { var appid = await _appRepo.GetAppId(model.AccessToken); var createdSite = await _siteRepo.CreateSite(model.NewSiteName, model.OpenToUpload, model.OpenToDownload, appid); return(this.Protocol(ErrorType.Success, $"Successfully created your new site: '{createdSite.SiteName}' at {createdSite.CreationTime}.")); }
public async Task <IActionResult> CreateNewSite(CreateNewSiteAddressModel model) { var appid = await _appRepo.GetAppId(model.AccessToken); var conflict = await _siteRepo.GetSiteByName(model.NewSiteName) != null; if (conflict) { return(this.Protocol(ErrorType.NotEnoughResources, $"There is already a site with name: '{model.NewSiteName}'. Please try another new name.")); } var createdSite = await _siteRepo.CreateSite(model.NewSiteName, model.OpenToUpload, model.OpenToDownload, appid); return(this.Protocol(ErrorType.Success, $"Successfully created your new site: '{createdSite.SiteName}' at {createdSite.CreationTime}.")); }
public async Task <IActionResult> CreateNewSite(CreateNewSiteAddressModel model) { var appid = await _tokenManager.ValidateAccessToken(model.AccessToken); var appLocal = await _dbContext.Apps.SingleOrDefaultAsync(t => t.AppId == appid); if (appLocal == null) { appLocal = new ProbeApp { AppId = appid }; _dbContext.Apps.Add(appLocal); await _dbContext.SaveChangesAsync(); } var conflict = await _dbContext.Sites .AnyAsync(t => t.SiteName.ToLower().Trim() == model.NewSiteName.ToLower().Trim()); if (conflict) { return(this.Protocol(ErrorType.NotEnoughResources, $"There is already a site with name: '{model.NewSiteName}'. Please try another new name.")); } var newRootFolder = new Folder { FolderName = "blob" }; _dbContext.Folders.Add(newRootFolder); await _dbContext.SaveChangesAsync(); var site = new Site { AppId = appid, SiteName = model.NewSiteName.ToLower(), FolderId = newRootFolder.Id, OpenToUpload = model.OpenToUpload, OpenToDownload = model.OpenToDownload }; _dbContext.Sites.Add(site); await _dbContext.SaveChangesAsync(); return(this.Protocol(ErrorType.Success, $"Successfully created your new site: '{site.SiteName}'.")); }