Beispiel #1
0
        private void ClientRoomRefreshed(object sender, RoomEventArgs e)
        {
            if (e.Room.Name != Name)
            {
                return;
            }

            Dispatcher.BeginInvoke(new Action <RoomEventArgs>(args =>
            {
                Description = args.Room;

                foreach (var user in Users)
                {
                    user.Dispose();
                }

                Users.Clear();

                foreach (string user in Description.Users)
                {
                    Users.Add(new UserViewModel(args.Users.Find(u => string.Equals(u.Nick, user)), this));
                }

                OnPropertyChanged("Name");
                OnPropertyChanged("Admin");
                OnPropertyChanged("Users");
            }), e);
        }
        protected override void OnRun(MessageContent content, ClientCommandArgs args)
        {
            if (content.Room == null)
            {
                throw new ArgumentNullException("room");
            }

            using (var client = ClientModel.Get())
            {
                Room prevRoom;
                if (!client.Rooms.TryGetValue(content.Room.Name, out prevRoom))
                {
                    throw new ModelException(ErrorCode.RoomNotFound);
                }

                client.Rooms[content.Room.Name] = content.Room;
                content.Room.Enabled            = prevRoom.Enabled;

                UpdateUsers(client, content.Users);
                UpdateRoomUsers(client, content.Room, prevRoom);
                UpdateRoomFiles(client, content.Room, prevRoom);
            }

            var eventArgs = new RoomEventArgs
            {
                RoomName = content.Room.Name,
                Users    = content.Users
                           .Select(u => u.Nick)
                           .ToList()
            };

            ClientModel.Notifier.RoomRefreshed(eventArgs);
        }
Beispiel #3
0
        /// <summary>
        ///     Called when the shop has been refreshed.
        /// </summary>
        public void OnRefreshShop()
        {
            // Nothing to extract.
            // Nothing to update.
            // Fire the event.
            var e = new RoomEventArgs(this._in.Source);

            this._in.Source.Pull.RefreshShop.RefreshshopEvent(e);
        }
Beispiel #4
0
 private void ClientRoomOpened(RoomEventArgs e)
 {
     using (var client = ClientModel.Get())
     {
         RefreshUsers(client);
         RefreshReceivers(client);
         FillMessages(client);
     }
 }
Beispiel #5
0
        /// <summary>
        ///     Called when the level is saved.
        /// </summary>
        public void OnSaved()
        {
            // Nothing to extract from message.
            // Nothing to update because I have no idea what it is.
            // Fire the event.
            var e = new RoomEventArgs(this._in.Source);

            this._in.Source.Pull.Save.SavedEvent(e);
        }
Beispiel #6
0
        /// <summary>
        ///     Called when the time doors are visible
        /// </summary>
        public void OnShow()
        {
            // Like with "hide", there is data but it is irrelevant.
            // Update relevant objects.
            this._in.Source.TimeDoorsVisible = true;

            // Fire the event.
            var e = new RoomEventArgs(this._in.Source);

            this._in.Source.Pull.Show.ShowEvent(e);
        }
Beispiel #7
0
        private void ClientRoomClosed(RoomEventArgs e)
        {
            var roomViewModel = Rooms.FirstOrDefault(vm => vm.Name == e.RoomName);

            if (roomViewModel == null)
            {
                return;
            }

            Rooms.Remove(roomViewModel);
            roomViewModel.Dispose();

            window.Alert();
        }
        protected override void OnRun(MessageContent content, ClientCommandArgs args)
        {
            if (content.Room == null)
            {
                throw new ArgumentNullException("room");
            }

            using (var client = ClientModel.Get())
            {
                content.Room.Enabled = true;
                client.Rooms.Add(content.Room.Name, content.Room);

                UpdateUsers(client, content.Users);

                if (content.Type == RoomType.Voice)
                {
                    var room = content.Room as VoiceRoom;
                    if (room == null)
                    {
                        throw new ArgumentException("type");
                    }

                    foreach (var nick in room.Users)
                    {
                        if (nick == client.User.Nick)
                        {
                            continue;
                        }

                        ClientModel.Api.AddInterlocutor(nick);
                    }

                    var mapForUser = room.ConnectionMap[client.User.Nick];
                    foreach (var nick in mapForUser)
                    {
                        ClientModel.Api.ConnectToPeer(nick);
                    }
                }
            }

            var eventArgs = new RoomEventArgs
            {
                RoomName = content.Room.Name,
                Users    = content.Users
                           .Select(u => u.Nick)
                           .ToList()
            };

            ClientModel.Notifier.RoomOpened(eventArgs);
        }
Beispiel #9
0
        private void OnRoomParsed(object sender, RoomEventArgs args)
        {
            _room.Add(args.Item);
            if (_room.Count % 10000 != 0)
            {
                return;
            }
            InsertRoom();
            var now = DateTime.Now;
            var top = Console.CursorTop;

            Console.SetCursorPosition(0, top - 1);
            Console.WriteLine($"{(now - _start).TotalSeconds:N1} s. Process: {(args.Count + 1):N0}");
        }
Beispiel #10
0
        private void ClientRoomRefreshed(RoomEventArgs e)
        {
            using (var client = ClientModel.Get())
            {
                if (e.RoomName == Name)
                {
                    RefreshUsers(client);
                }

                if (e.RoomName == ServerModel.MainRoomName)
                {
                    RefreshReceivers(client);
                }
            }
        }
Beispiel #11
0
        private void ClientRoomOpened(RoomEventArgs e)
        {
            // If room view model already exist then event will be processed by it self
            if (Rooms.Any(vm => vm.Name == e.RoomName))
            {
                return;
            }

            // Else create new view model
            var roomViewModel = new RoomViewModel(this, e.RoomName, e.Users);

            roomViewModel.Updated = true;
            Rooms.Add(roomViewModel);

            window.Alert();
        }
Beispiel #12
0
        private void ClientRoomOpened(object sender, RoomEventArgs e)
        {
            Dispatcher.BeginInvoke(new Action <RoomEventArgs>(args =>
            {
                if (Rooms.FirstOrDefault(roomVM => roomVM.Name == args.Room.Name) != null)
                {
                    return;
                }

                RoomViewModel roomViewModel = new RoomViewModel(this, args.Room, args.Users);
                roomViewModel.Updated       = true;
                Rooms.Add(roomViewModel);

                window.Alert();
            }), e);
        }
Beispiel #13
0
        private void ClientRoomClosed(object sender, RoomEventArgs e)
        {
            Dispatcher.BeginInvoke(new Action <RoomEventArgs>(args =>
            {
                RoomViewModel roomViewModel = Rooms.FirstOrDefault(roomVM => roomVM.Name == args.Room.Name);

                if (roomViewModel == null)
                {
                    return;
                }

                Rooms.Remove(roomViewModel);
                roomViewModel.Dispose();

                window.Alert();
            }), e);
        }
Beispiel #14
0
        void r_JORO(object sender, serverReturnEventArgs e)
        {
            if (e.data.Contains("OK"))
            {
                RoomEventArgs rargs = new RoomEventArgs(selectedRoom);
                if (roomJoin != null)
                {
                    roomJoin(this, rargs);
                }

                MoveToEventArgs args = new MoveToEventArgs("Room");
                EventHandler <MoveToEventArgs> handler = this.getMoveTo();

                if (handler != null)
                {
                    handler(this, args);
                }
            }
        }
Beispiel #15
0
        private void ClientRoomRefreshed(object sender, RoomEventArgs e)
        {
            Dispatcher.BeginInvoke(new Action <RoomEventArgs>(args =>
            {
                if (args.Room.Name == ServerModel.MainRoomName)
                {
                    AllUsers.Clear();

                    using (var client = ClientModel.Get())
                        foreach (string nick in args.Room.Users)
                        {
                            User user = args.Users.Single(u => u.Equals(nick));
                            AllUsers.Add(new UserViewModel(user, null)
                            {
                                IsClient = user.Equals(client.User)
                            });
                        }
                }
            }), e);
        }
Beispiel #16
0
        void r_CNRO(object sender, serverReturnEventArgs e)
        {
            if (!e.data.Contains("KO"))
            {
                Room          created = new Room(int.Parse(e.data), name, Format, RoomName, 0);
                RoomEventArgs rargs   = new RoomEventArgs(created);
                if (roomCreation != null)
                {
                    roomCreation(this, rargs);
                }


                MoveToEventArgs args = new MoveToEventArgs("Room");
                EventHandler <MoveToEventArgs> handler = this.getMoveTo();

                if (handler != null)
                {
                    handler(this, args);
                }
            }
        }
        /* This is the handler for the Amplifier, here we define the Feedbacks whenever an event happens . . . */

        void amp197_RoomChangeEvent(object sender, RoomEventArgs args)
        {
            CrestronConsole.PrintLine("RoomEventArgs right now is: {0}, and Room Volume Event Id is: {1} ", args.EventId, Room.VolumeFeedbackEventId);

            switch (args.EventId)               // IT DOESNT WORK, THE EVENTS NEVER HAPPEN?

            {
            case Room.VolumeFeedbackEventId:                // When the Volume changes

                for (uint i = 1; i <= 6; i++)               // Analog Outputs 1 - 6 are TSx Volume Feedback
                {
                    if (screens[i - 1] != 33)
                    {
                        ampeisc.UShortInput[i].UShortValue = p197zones[screens[i - 1]].VolumeFeedback.UShortValue;
                    }
                }

                for (uint i = 7; i <= 12; i++)                  // Analog Outputs 7 - 12 are TSx Volume % Feedback
                {
                    if (screens[i - 7] != 33)
                    {
                        ampeisc.UShortInput[i].UShortValue = (ushort)(Math.Floor((double)(p197zones[screens[i - 7]].VolumeFeedback.UShortValue) / 655));
                    }
                }

                CrestronConsole.PrintLine("no segmentation until here");

                for (uint i = 13; i <= 19; i++)                 // Analog Outputs 13 - 19 are Zones Volume Feedback
                {
                    ampeisc.UShortInput[i].UShortValue = p197zones[i - 13].VolumeFeedback.UShortValue;
                }

                for (uint i = 20; i <= 26; i++)                 // Analog Outputs 20 - 26 are Zones Volume % Feedback
                {
                    ampeisc.UShortInput[i].UShortValue = (ushort)(Math.Floor((double)(p197zones[i - 20].VolumeFeedback.UShortValue) / 655));
                }

                CrestronConsole.PrintLine("Event Now");

                break;                        // break for case of volume feedback event

            case Room.MuteOnFeedbackEventId:  // If its Muted

                for (uint i = 1; i <= 6; i++) // Digital Outputs 1 - 6 are TSx Mute On Feedback
                {
                    if (screens[i - 1] != 33)
                    {
                        ampeisc.BooleanInput[i].BoolValue = p197zones[screens[i - 1]].MuteOnFeedback.BoolValue;
                    }
                }

                for (uint i = 7; i <= 13; i++)                  // Digital Outputs 7 - 13 are Zones Mute On Feedback
                {
                    ampeisc.BooleanInput[i].BoolValue = p197zones[i - 7].MuteOnFeedback.BoolValue;
                }

                break;                          // break for case of mute feedback event

            case Room.SourceFeedbackEventId:    // If there is a source change

                for (uint i = 14; i <= 19; i++) // Digital Outputs 14 - 19 are TSx Room On Feedback
                {
                    if (screens[i - 14] != 33)
                    {
                        if (p197zones[screens[i - 14]].SourceFeedback.UShortValue != 0)
                        {
                            ampeisc.BooleanInput[i].BoolValue = true;
                        }
                        else
                        {
                            ampeisc.BooleanInput[i].BoolValue = false;
                        }
                    }
                }

                for (uint i = 20; i <= 26; i++)                 // Digital Outputs 20 - 26 are Zones Room On Feedback
                {
                    if (p197zones[i - 20].SourceFeedback.UShortValue != 0)
                    {
                        ampeisc.BooleanInput[i].BoolValue = true;
                    }
                    else
                    {
                        ampeisc.BooleanInput[i].BoolValue = false;
                    }
                }

                break;              // break for case of source feedback event
            }
        }
Beispiel #18
0
 public void roomAssociation(object sender, RoomEventArgs e)
 {
     roomAssociated = e.associated;
     roomChat       = new Conversation(_Server, name, roomAssociated);
 }
Beispiel #19
0
 void Rooms_RoomAdded(object sender, RoomEventArgs e)
 {
     ViewModel?.Rooms.Add(e.Room);
 }
Beispiel #20
0
 private static void PaidAfterBookingHanlder(object sender, RoomEventArgs e)
 {
     Console.WriteLine(e.Message);
 }
Beispiel #21
0
 private static void PayHandler(object sender, RoomEventArgs e)
 {
     Console.WriteLine(e.Message);
 }
Beispiel #22
0
 public void roomAssociation(object sender, RoomEventArgs e)
 {
     roomAssociated = e.associated;
 }