private bool NewDatabase(string dbName, int serverAccountId) { var apiClient = GetApiClient(serverAccountId); var request = new CreateDatabase(); CreateDatabase.ResponseParams response; try { response = request.GetResponse(apiClient); } catch (RequestException e) { MessageBox.Show(e.ErrorCode); return false; } /*var linkSuccessful = false; var startTime = DateTime.Now; while (!linkSuccessful) { Thread.Sleep(2000); if (startTime.AddSeconds(30) < DateTime.Now) break; var checkRequest = new CheckClientLink {LinkIdentifier = response.DatabaseIdentifier}; CheckClientLink.ResponseParams checkLinkResponse; try { checkLinkResponse = checkRequest.GetResponse(apiClient); } catch (BadRequestException e) { MessageBox.Show(e.ErrorCode); return false; } if (checkLinkResponse.LinkEstablished) linkSuccessful = true; } if (!linkSuccessful) return false;*/ var newDatabaseMetaId = Model.DatabasesMeta.Create(new DatabaseMeta {Name = dbName}); var newDatabaseId = Model.Databases.Create(new Database { Identifier = response.DatabaseIdentifier, ServerAccountId = serverAccountId, DatabaseMetaId = newDatabaseMetaId }); SetDatabaseAsModified(newDatabaseId); var newGroupIdentifier = Guid.NewGuid().ToString(); var groupMetaId = Model.DatabasesGroupsMeta.Create(new DatabaseGroupMeta {Name = "Websites"}); var groupId = Model.DatabasesGroups.Create(new DatabaseGroup { Identifier = newGroupIdentifier, DatabaseId = newDatabaseId, DatabaseGroupMetaId = groupMetaId }); SetGroupAsModified(groupId); UpdateHomePage(); return true; }