public async Task <IActionResult> CreateStorage([FromBody] StorageRequestModel model) { if (ModelState.IsValid) { try { model.Storage.User = User.Identity.Name; model.Storage.IV = encryptor.GenerateIV(); var result = storageContext.Storages .Where(s => s.Name == model.Storage.Name && s.User == User.Identity.Name); if (model.Storage.Name == null) { return(new BadRequestObjectResult("Отсутствует имя хранилища")); } if (result.Count() != 0) { return(new BadRequestObjectResult("Хранилище с таким именем существует")); } if (!encryptor.CheckSizeKey(model.Key)) { return(new BadRequestObjectResult("Размер ключа [16, 24, 32]")); } await storageContext.Storages.AddAsync(model.Storage); HttpContext.Session.SetString("StorageIV", encryptor.ToString(model.Storage.IV)); HttpContext.Session.SetString("StorageKey", model.Key); await storageContext.Words.AddAsync( new WordModel() { User = User.Identity.Name, Storage = model.Storage.Name, ControlWord = encryptor.Encrypt(encryptor.ToByte("ControlWord")) }); await storageContext.SaveChangesAsync(); //LoadStorages(storageDB, model.Storage.Name); //storageDB.Connection.Close(); dataLite.Initializing(model.Storage.Name); dataLite.Close(); logger.LogInformation("Хранилище создано"); return(new OkObjectResult("Хранилище создано")); } catch (Exception ex) { logger.LogInformation("##### " + ex.StackTrace); return(new BadRequestObjectResult(ex.Message)); } } return(new BadRequestObjectResult("Модель данных не корректна")); }