public void TestItAddsInfo()
        {
            Info info = InfoFactory.Make();

            collection.Add(info);

            Assert.Equal(info, collection.Info);
        }
Beispiel #2
0
        public void Add(Info model)
        {
            var entity = InfoFactory.Create(model);

            _infoRepository.Add(entity);

            model.Id = entity.Id;
        }
        public void TestItReturnsElementsInOrder()
        {
            Info info = InfoFactory.Make();

            sectorElements.Add(info);

            IEnumerable <ICompilableElementProvider> expected = new List <ICompilableElementProvider>()
            {
                info
            };

            AssertCollectedItems(expected);
        }
Beispiel #4
0
        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;
            }
        }
Beispiel #5
0
        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);
                            });
                        }
                    }
                }
            });
        }
Beispiel #6
0
 public void TestItFailsOnInvalidAirport()
 {
     sectorElements.Add(InfoFactory.Make("EGXX"));
     AssertValidationErrors();
 }
Beispiel #7
0
 public void TestItPassesOnValidAirport()
 {
     sectorElements.Add(InfoFactory.Make("EGLL"));
     AssertNoValidationErrors();
 }
Beispiel #8
0
        public Info Get()
        {
            var entity = _infoRepository.Get();

            return(entity == null ? null : InfoFactory.Create(entity));
        }
Beispiel #9
0
        public Info Get(int id)
        {
            var entity = _infoRepository.Get(id);

            return(InfoFactory.Create(entity));
        }