public PolarisEf() : base( string.Format("server={0};database={1};username={2};password={3}", PolarisApp.Config.DatabaseAddress, PolarisApp.Config.DatabaseName, PolarisApp.Config.DatabaseUsername, PolarisApp.Config.DatabasePassword)) { try { foreach ( var f in Directory.EnumerateFiles(Directory.GetCurrentDirectory() + "/Resources/sql/scripts/", "*.sql")) { Logger.WriteInternal("[DB ] Executing database script {0}", f); Database.ExecuteSqlCommand(File.ReadAllText(f)); } var revision = ServerInfos.Find("Revision"); if (revision == null) { revision = new ServerInfo { Info = "Revision", Setting = "0" }; ServerInfos.Add(revision); //TODO Possibly move this somewhere else? Database.ExecuteSqlCommand("ALTER TABLE Players AUTO_INCREMENT=10000000"); } SaveChanges(); Logger.WriteInternal("[DB ] Loaded database with dataset revision {0}", revision.Setting); } catch (Exception ex) { Logger.WriteException("A database exception has occured", ex); } }
public void SetupDB() { try { foreach ( var f in Directory.EnumerateFiles(Directory.GetCurrentDirectory() + "/Resources/sql/scripts/", "*.sql")) { Logger.WriteInternal("[DB ] Executing database script {0}", f); Database.ExecuteSqlCommand(File.ReadAllText(f)); } var revision = ServerInfos.Find("Revision"); if (revision == null) { revision = new ServerInfo { Info = "Revision", Setting = "0" }; ServerInfos.Add(revision); //TODO Possibly move this somewhere else? Database.ExecuteSqlCommand("ALTER TABLE Players AUTO_INCREMENT=10000000"); } SaveChanges(); Logger.WriteInternal("[DB ] Loaded database with dataset revision {0}", revision.Setting); } catch (Exception ex) { Logger.WriteException("A database exception has occured", ex); } }
public DevClient(ServerInfos infos) { Server = infos; m_random = new Random(); m_infClient = new GameClient[HostCount]; Servers = new List <ServerInfo>(); HostEnabled = true; }
private async void OnAddInfo(object args) { if (AddInfoName == null || string.IsNullOrWhiteSpace(AddInfoName)) { Errors.Add(new Error { Message = "Specify the name of the channel you want to create.", Verbose = "Specify the name of the channel you want to create." }); return; } try { var info = ServerInfos.FirstOrDefault(i => i.Name.Equals(AddInfoName)); if (info == null) { var channelInfo = new ChannelInfo { Name = AddInfoName }; info = InfoFactory.GetInfo(channelInfo); ServerInfos.Add(info); } UserInfos.Add(info); SelectedInfo = (InfoDecorator)info; if (info is Channel) { var clientMessage = new Message { SenderConnectionId = User.Name, Data = AddInfoName, MessageType = MessageType.SubscribeToChannel }; await dipSocketClient.SendMessageAsync(clientMessage); } } catch (Exception ex) { Errors.Add(new Error { Message = ex.Message, Verbose = ex.ToString() }); } finally { AddInfoName = string.Empty; } }
private void OnServerInfo(Message message) { dispatcher.Invoke( () => { lock (serverInfosLock) { var serverInfo = JsonConvert.DeserializeObject <ServerInfo>(message.Data); var allServerInfos = serverInfo.Channels.Cast <IInfo>() .Union(serverInfo.Connections.Where(c => !c.Name.Equals(User.Name)).Cast <IInfo>()) .OrderBy(c => c.Name).ToList(); var removals = ServerInfos.Where(c => !allServerInfos.Any(nc => nc.Name.Equals(c.Name))).ToList(); foreach (var removal in removals) { ServerInfos.Remove(removal); var removeUserInfo = UserInfos.FirstOrDefault(i => i.Name.Equals(removal.Name)); if (removeUserInfo != null) { UserInfos.Remove(removeUserInfo); } } var updates = (from c in ServerInfos.OfType <Channel>() join ci in allServerInfos.OfType <ChannelInfo>() on c.Name equals ci.Name select c.UpdateConnections(ci)).ToList(); var additions = allServerInfos.Where(a => !ServerInfos.Any(c => c.Name.Equals(a.Name))).ToList(); if (additions.Any()) { foreach (var addition in additions) { dispatcher.Invoke( () => { var info = InfoFactory.GetInfo(addition); ServerInfos.Add(info); }); } } } }); }
private string ResolvePath(string gamePath, ServerInfos aionServer) { var pathBuilder = new StringBuilder(); if (gamePath.Equals(Default)) { var directoryName = GetGamePath(); pathBuilder.Append(directoryName); } else { pathBuilder.Append(gamePath); } if (!gamePath.EndsWith("/")) { pathBuilder.Append("/"); } pathBuilder.Append(aionServer.Path); return(pathBuilder.ToString()); }