Ejemplo n.º 1
0
        private static void AddStrategies(ObservableCollection <ServerStrategy> strategies, List <Core.Server.ServerStrategy> serverStrategies)
        {
            var newServerStrategies = serverStrategies.Where(ism => !strategies.Any(s => s.Name == ism.Strategy.Name)).ToList();

            Func <Core.Server.ServerStrategy, ServerStrategy> f = (ism) =>
            {
                var serverStrategy = new ServerStrategy
                {
                    Name            = ism.Strategy.Name,
                    Started         = ism.Started,
                    StartedBy       = ism.StartedBy,
                    Parameters      = ism.Strategy.Parameters,
                    ConnectionCount = ism.Connections.Count
                };

                var connections = ism.Connections.Select(c => new Connection
                {
                    Name      = c.Connection,
                    Connected = c.Connected
                }).ToList();

                connections.ForEach(serverStrategy.Connections.Add);

                return(serverStrategy);
            };

            var newStrategies = newServerStrategies.Select(ism => f(ism));

            foreach (var strategy in newStrategies)
            {
                strategies.Add(strategy);
            }
        }
Ejemplo n.º 2
0
                static ServerStrategy f(ServerStrategy s, Socket.Messages.ChannelInfo c)
                {
                    s.Connections.AddRange(c.Connections.Select(conn => new ServerStrategyConnection
                    {
                        Connection = conn.Name
                    }));

                    return(s);
                }
Ejemplo n.º 3
0
            static ServerStrategy f(Core.Server.ServerStrategy ism)
            {
                var serverStrategy = new ServerStrategy
                {
                    Name            = ism.Strategy.Name,
                    Started         = ism.Started,
                    StartedBy       = ism.StartedBy,
                    Parameters      = ism.Strategy.Parameters,
                    ConnectionCount = ism.Connections.Count
                };

                var connections = ism.Connections.Select(c => new Connection
                {
                    Name      = c.Connection,
                    Connected = c.Connected
                }).ToList();

                connections.ForEach(serverStrategy.Connections.Add);

                return(serverStrategy);
            };