public static bool SendMessageByType(IRequests requests, TcpClient client, string message)
        {
            var messageType = CheckMessageType.GetMessageType(message);

            if (messageType == MessageType.STRING)
            {
                requests.SendStringMessage(client, MessageType.STRING.ToString());
                requests.SendStringMessage(client, message);
                return(true);
            }
            else if (messageType == MessageType.PIC)
            {
                string urlPic = CheckMessageType.GetPictureUrl(message);

                if (File.Exists(urlPic))
                {
                    requests.SendStringMessage(client, MessageType.PIC.ToString());
                    requests.SendPictureMessage(client, urlPic);
                    return(true);
                }
                else
                {
                    requests.SendStringMessage(client, "0");
                    return(false);
                }
            }
            else
            {
                requests.SendStringMessage(client, "0");
                return(false);
            }
        }
Ejemplo n.º 2
0
        public void Run()
        {
            _requests.SendStringMessage(_client, ClientOptions.LEAVE_GROUP_CHAT.ToString());

            try
            {
                AllGroupChat allGroupChat = (AllGroupChat)_requests.GetModelMessage(_client);
                PrintAllGroups(allGroupChat);

                if (allGroupChat.GroupsName.Count > 0)
                {
                    _system.Write("enter group name");
                    string userResponse = _system.ReadString();

                    if (CheckGroupName(userResponse, allGroupChat))
                    {
                        _requests.SendStringMessage(_client, userResponse);
                        _system.Write("you leave group");
                    }
                    else
                    {
                        _requests.SendStringMessage(_client, "0");
                        _system.Write("the group not exist");
                    }
                }
                else
                {
                    _requests.SendStringMessage(_client, "0");
                    _system.Write("you dont have groups to leave");
                }
            }
            catch (Exception e)
            {
            }
        }
        public void Run()
        {
            try
            {
                _requests.SendStringMessage(_client, ClientOptions.MANAGER_SETTINGS.ToString());

                AllGroupChat allGroupChat = (AllGroupChat)_requests.GetModelMessage(_client);
                PrintAllGroups(allGroupChat);

                if (allGroupChat.GroupsName.Count > 0)
                {
                    _system.Write("enter group name");
                    string userResponse = _system.ReadString();

                    if (CheckGroupName(userResponse, allGroupChat))
                    {
                        _requests.SendStringMessage(_client, userResponse);
                        GroupChat    groupChat    = (GroupChat)_requests.GetModelMessage(_client);
                        Participants participants = (Participants)_requests.GetModelMessage(_client);


                        _system.Write("enter names you want to remove from group, when end enter o");
                        PrintParticipants(groupChat.Participants);
                        List <Guid> usersToRemove = GetAllParticipants(groupChat.Participants);


                        _system.Write("enter names you want to add to group, when end enter o");
                        PrintParticipants(participants.AllParticipants);
                        List <Guid> usersToAdd = GetAllParticipants(participants.AllParticipants);
                        usersToAdd.RemoveAll(u => CheckIfParticipantsExist(u, groupChat.Participants) == true);

                        _system.Write("enter names you want to add as mangers, when end enter o");
                        List <Guid> usersToAddAsMangers = GetAllParticipants(groupChat.Participants);
                        usersToAddAsMangers.RemoveAll(u => CheckIfParticipantsExist(u, usersToRemove) == true);

                        ChangeGroup(groupChat, usersToRemove, usersToAdd, usersToAddAsMangers);

                        _requests.SendModelMessage(_client, groupChat);
                    }
                    else
                    {
                        _requests.SendStringMessage(_client, "0");
                        _system.Write("the group  not exist");
                    }
                }
                else
                {
                    _requests.SendStringMessage(_client, "0");
                    _system.Write("you dont have any group that you managment");
                }
            }
            catch (Exception)
            {
            }
        }
        public void Run()
        {
            _requests.SendStringMessage(_client, ClientOptions.GROUP_CHAT.ToString());
            endConnection = false;

            try
            {
                AllGroupChat allGroupChat = (AllGroupChat)_requests.GetModelMessage(_client);

                PrintAllGroups(allGroupChat);

                if (allGroupChat.GroupsName.Count > 0)
                {
                    _system.Write("enter group name");
                    string userResponse = _system.ReadString();

                    if (CheckGroupName(userResponse, allGroupChat))
                    {
                        _requests.SendStringMessage(_client, userResponse);
                        ListenToServer();

                        while (!endConnection)
                        {
                            _system.Write("enter message, if you wand to exist chat enter: 0");
                            string message = _system.ReadString();

                            if (message == "0")
                            {
                                endConnection = true;
                            }

                            _requests.SendStringMessage(_client, message);
                        }
                    }
                    else
                    {
                        _requests.SendStringMessage(_client, "0");
                        _system.Write("the group  not exist");
                    }
                }
                else
                {
                    _requests.SendStringMessage(_client, "0");
                    _system.Write("you dont have group to enter");
                }
            }
            catch (Exception e)
            {
            }
        }
        private void SendAllClientsConnected(Guid clientGuid)
        {
            string message = $"the clients you can chat with: \n";

            foreach (var clientConnected in _data.ClientsConnectedInServer.Clients)
            {
                var guidClient = _data.ClientsConnectedInServer.GetGuid(clientConnected.Value);

                if (guidClient != clientGuid)
                {
                    message += $"{guidClient} \n";
                }
            }

            _requests.SendStringMessage(_client, message);
        }
        public void Run()
        {
            _requests.SendStringMessage(_client, ClientOptions.PRIVATE_CHAT.ToString());

            try
            {
                string messageRecive;
                messageRecive = _requests.GetStringMessage(_client);
                _system.Write(messageRecive);

                string messageToSend = _system.ReadString();
                _requests.SendStringMessage(_client, messageToSend);
                messageRecive = _requests.GetStringMessage(_client);

                if (messageRecive == "success")
                {
                    endConnection = false;
                    Thread ctThread = new Thread(GetMessage);
                    ctThread.Start();

                    while (!endConnection)
                    {
                        _system.Write("enter message, if you wand to exist chat enter: 0");
                        string message = _system.ReadString();

                        if (message == "0")
                        {
                            endConnection = true;
                        }
                        _requests.SendStringMessage(_client, message);
                    }
                }
                else
                {
                    _system.Write("you enter guid that not exist");
                }
            }
            catch (Exception e)
            {
            }
        }
        public void Run()
        {
            _requests.SendStringMessage(_client, ClientOptions.GLOBAL_CHAT.ToString());

            try
            {
                Thread thread = new Thread(GetMessage);
                thread.Start();

                while (!endConnection)
                {
                    _system.Write("enter message, if you wand to exist global chat enter: 0");
                    message = _system.ReadString();

                    if (message == "0")
                    {
                        endConnection = true;

                        _requests.SendStringMessage(_client, message);
                        break;
                    }
                    else
                    {
                        if (!ChatUtils.SendMessageByType(_requests, _client, message))
                        {
                            endConnection = true;
                        }
                    }
                }
            }
            catch (Exception e)
            {
            }

            endConnection = false;
        }
        public void Run()
        {
            try
            {
                _requests.SendStringMessage(_client, ClientOptions.CREATE_GROUP_CHAT.ToString());

                Participants participants = (Participants)_requests.GetModelMessage(_client);

                _system.Write("enter group name");
                string gropuName = _system.ReadString();

                PrintAllParticipants(participants.AllParticipants);

                _system.Write("add all participants, when end send 0");
                List <Guid> usersToAdd   = new List <Guid>();
                string      userResponse = "";
                usersToAdd = GetAllParticipants(userResponse, participants.AllParticipants);

                SendGroupToServer(gropuName, usersToAdd);
            }
            catch (Exception)
            {
            }
        }