Exemple #1
0
        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}."));
        }
Exemple #2
0
        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}."));
        }
Exemple #3
0
        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}'."));
        }