예제 #1
0
        internal void Disconnect(bool shoudClearInfo = false)
        {
            _communicationManager.Disconnect();

            //Обработка отключение от сервера
            if (shoudClearInfo)
            {
                CurrentPerson  = null;
                SelectedPerson = null;
                AllPersons.Clear();
            }

            IsConnected = false;
        }
예제 #2
0
        /// <summary>
        /// Подключение к серверу
        /// </summary>
        private void Connect()
        {
            Person person = new Person {
                Name = UserName
            };

            try
            {
                var callback = new ChatServiceCallback();
                callback.ChatCallbackEvent += Callback_ChatCallbackEvent;

                var joinResult = _communicationManager.Connect(serverIP: ServerIP, serverPort: ServerPort, person: person, callback: callback);

                if (!joinResult.Success)
                {
                    Disconnect();
                    LogError(joinResult);
                    return;
                }

                //Задается основной пользователь клиента
                CurrentPerson = person;

                AllPersons.Clear();
                foreach (var per in joinResult.Result.OrderBy(x => x.Name))
                {
                    AllPersons.Add(per);
                }

                IsConnected = true;
            }
            catch (Exception ex)
            {
                LogError("Не получилось подключиться к серверу: " + ex.Message);
                IsConnected = false;
            }
        }