Beispiel #1
0
        private void RemoveDisconnectedUser(DisconnectContent disconnectContent)
        {
            _jsonContainer.Persons.Clear();

            UsersOnline.Persons.RemoveAll(x => x.PersonId == disconnectContent.Id);

            foreach (var item in UsersOnline.Persons)
            {
                Person temp = new Person();

                temp.Connection  = null;
                temp.Female      = item.Female;
                temp.Male        = item.Male;
                temp.Name        = item.Name;
                temp.PersonId    = item.PersonId;
                temp.Pic         = item.Pic;
                temp.PicturePath = @"C:\Users\X\Downloads\ChatData\ChatImage" + item.PersonId + ".jpg";

                _jsonContainer.Persons.Add(temp);
            }
        }
Beispiel #2
0
        private void Chat(string textFromClient, Socket socket)
        {
            if (FirstTime)
            {
                FirstTime = false;

                _person = ConverData.ToReceiv <Person>(textFromClient);

                _person.PersonId   = _PersonId;
                _person.Connection = socket;

                UsersOnline.Persons.Add(_person);

                ShowUsersOnline(_uIViewModel);

                AddPersonsToJsonContainer(_jsonContainer);

                foreach (var user in UsersOnline.Persons)
                {
                    if (user.PersonId == _PersonId)
                    {
                        _jsonContainer.CurrentPersonId.Id = _PersonId;

                        AddMessagesToJsonContainer(_jsonContainer);

                        user.Connection.Send(ConverData.ToSend(_jsonContainer));
                    }
                    else
                    {
                        _jsonContainer.Messages.Clear();
                        user.Connection.Send(ConverData.ToSend(_jsonContainer));
                    }
                }
            }
            else
            {
                DisconnectContent disconnectContent = new DisconnectContent();

                disconnectContent = ConverData.ToReceiv <DisconnectContent>(textFromClient);

                if (disconnectContent.ExitMessage != "€noc§dne§€")
                {
                    _messageContent = ConverData.ToReceiv <MessageContent>(textFromClient);

                    string tempName = _messageContent.Name;

                    AllMessages.Messages.Add(_messageContent.NewInstance(_messageContent));

                    AddToMessagesOnServer();

                    foreach (var item in UsersOnline.Persons)
                    {
                        if (item.PersonId == _messageContent.Id)
                        {
                            _messageContent.MessageAlignment         = "Right";
                            _messageContent.MessageColour            = SenderReceiwer.SendBubbleColor;
                            _messageContent.MessagePictureVisibility = "Hidden";
                            _messageContent.Name = "";
                        }
                        else
                        {
                            _messageContent.MessageAlignment         = "Left";
                            _messageContent.MessageColour            = SenderReceiwer.ReceiveBubleColor;
                            _messageContent.MessagePictureVisibility = "Visible";
                            _messageContent.Name = tempName;
                        }

                        item.Connection.Send(ConverData.ToSend(_messageContent));
                    }
                }
                else
                {
                    RemoveDisconnectedUser(disconnectContent);

                    SendUsersOnlineToClients();

                    ShowUsersOnline(_uIViewModel);
                }
            }
        }