public async Task <ActionResult> CreatePersonal(PersonalStorageCreateModel model) { if (!ModelState.IsValid) { return(View(model)); } var newStorage = Storage.NewStorage(model.Name, User.Identity.Name, StorageType.Personal); Mapper.Map(model, newStorage); try { BlobStorageConfig.Initialize(newStorage); } catch (SqlException exception) { ModelState.AddModelError("", exception.Message); return(View(model)); } await _storageDbCommand.CreateAsync(newStorage); return(RedirectToAction("Index")); }
/// <summary></summary> /// <param name="connectionString"></param> /// <param name="migrationEnable"></param> public static void Start(string connectionString, bool migrationEnable = true) { SqlMapper.AddTypeMap(typeof(DateTime), DbType.DateTime2); SqlMapper.AddTypeMap(typeof(DateTime?), DbType.DateTime2); if (!migrationEnable) { return; } DatabaseHelper.CreateIfNotExists(connectionString); MigrationRunnerHelper.MigrateToLatest(connectionString); var storages = new StorageDbCommand(connectionString).GetAllAsync().Result; foreach (var storage in storages) { try { BlobStorageConfig.Initialize(storage); } catch (Exception) {} } }
public void InitializeDatabases() { var storageDbCommand = new StorageDbCommand(Constants.ConnectionString); foreach (var storage in this) { BlobStorageConfig.Initialize(storage); TestUtilities.TruncateAllTables(storage.ConnectionProperties.ToConnectionString()); storageDbCommand.CreateAsync(storage).Wait(); } }
public async Task <ActionResult> EditPersonal(string id, PersonalStorageEditModel model) { if (!ModelState.IsValid) { return(View(model)); } var storage = await _storageDbCommand.FindAsync(id); if (storage == null) { return(HttpNotFound()); } if (storage.Owner != User.Identity.Name) { return(new HttpUnauthorizedResult()); } Mapper.Map(model, storage); storage.LastModifiedUtcDateTime = DateTime.UtcNow; try { BlobStorageConfig.Initialize(storage); } catch (SqlException exception) { ModelState.AddModelError("", exception.Message); return(View(model)); } await _storageDbCommand.UpdateAsync(id, storage); return(RedirectToAction("Index")); }