public async Task <IActionResult> Delete(long?id) { //データの入力チェック if (id == null) { return(JsonBadRequest("Invalid inputs.")); } //データの存在チェック var storage = await tenantRepository.GetStorageForUpdateAsync(id.Value); if (storage == null) { return(JsonNotFound($"Storage ID {id.Value} is not found.")); } //このStorageを登録しているテナントがいた場合、削除はできない var tenant = tenantRepository.GetAllTenants().FirstOrDefault(t => t.StorageId == storage.Id); if (tenant != null) { return(JsonConflict($"Storage {storage.Id}:{storage.Name} is used at Tenant {tenant.Id}:{tenant.Name}.")); } tenantRepository.DeleteStorage(storage); unitOfWork.Commit(); tenantRepository.Refresh(); return(JsonNoContent()); }