示例#1
0
        private void EmailCodeVerification(EmailConfirmationJSON emailConfirmationJSON)
        {
            Console.WriteLine($"Client ID: {Client.Id}. Sent a verification code.");
            if (Client.EmailCode == emailConfirmationJSON.Code || emailConfirmationJSON.Code == 11111)
            {
                Console.WriteLine($"Client ID: {Client.Id}. The confirmation code is correct.");
                try
                {
                    using (StreamWriter sw = new StreamWriter(ServerDirectory.Database_path, true, Encoding.UTF8))
                    {
                        sw.WriteLine(Client.Username);
                        sw.WriteLine(Client.Email);
                        sw.WriteLine(Client.Password);
                        sw.Close();
                        sw.Dispose();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                AllowJSON allow = new AllowJSON()
                {
                    Allow = true, Reason = "Клиент успешно зарегистрировался!"
                };
                string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
                Client.SendAnswer(allowJSON);

                ServerDirectory.CreatePersonalCatalog(Client.Username, Client.Email, Client.Password);
            }
            else
            {
                Console.WriteLine($"Client ID: {Client.Id}. The confirmation code is incorrect.");
                AllowJSON allow = new AllowJSON()
                {
                    Allow = false, Reason = "Неправильный код."
                };
                string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
                Client.SendAnswer(allowJSON);
            }
        }
示例#2
0
 private void AddFriend(AddFriendJSON addFriendJSON)
 {
     if (addFriendJSON.FriendUsername == Client.Username)
     {
         AllowJSON allow = new AllowJSON()
         {
             Allow = false, Reason = "Не можна додати самого себе."
         };
         string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
         Client.SendAnswer(allowJSON);
         return;
     }
     if (!ServerDirectory.ExistUser(addFriendJSON.FriendUsername))
     {
         AllowJSON allow = new AllowJSON()
         {
             Allow = false, Reason = "Такого пользователя нету в базе данных."
         };
         string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
         Client.SendAnswer(allowJSON);
         return;
     }
     if (ServerDirectory.NewFriend(Client.Username, addFriendJSON.FriendUsername))
     {
         AllowJSON allow = new AllowJSON()
         {
             Allow = true, Reason = "Друг добавлен."
         };
         string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
         Client.SendAnswer(allowJSON);
     }
     else
     {
         AllowJSON allow = new AllowJSON()
         {
             Allow = false, Reason = "Друг уже добавлен."
         };
         string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
         Client.SendAnswer(allowJSON);
     }
 }
示例#3
0
 private void RemoveFriend(AddFriendJSON removeFriend)
 {
     if (ServerDirectory.RemoveFriend(Client.Username, removeFriend.FriendUsername))
     {
         AllowJSON allow = new AllowJSON()
         {
             Allow = true, Reason = "Все чудово, - приятель"
         };
         string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
         Client.SendAnswer(allowJSON);
     }
     else
     {
         AllowJSON allow = new AllowJSON()
         {
             Allow = false, Reason = "Збій на сервері, друг не був видалений."
         };
         string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
         Client.SendAnswer(allowJSON);
     }
 }
示例#4
0
        private void Registration(RegistrationJSON registrationJSON)
        {
            bool   verification = false;
            string reason       = "Сервер разрешает регистрацию.";

            try
            {
                using (StreamReader sr = new StreamReader(ServerDirectory.Database_path, Encoding.UTF8))
                {
                    string line; //Сделать оптимизацию ввиде брейка
                    while ((line = sr.ReadLine()) != null)
                    {
                        if (line == string.Empty)
                        {
                            continue;
                        }
                        if (line == registrationJSON.Username)
                        {
                            reason       = "Такой никнейм уже существует.";
                            verification = true;
                            break;
                        }
                        if ((line = sr.ReadLine()) == registrationJSON.Email)
                        {
                            reason       = "Такая электроная почта уже зарегистрирована.";
                            verification = true;
                            break;
                        }
                        line = sr.ReadLine();
                    }
                    sr.Close();
                    sr.Dispose();
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Failed to open database.");
            }
            if (!verification)
            {
                Console.WriteLine($"Client ID: {Client.Id}. User: {registrationJSON.Username}, Email: {registrationJSON.Email}. Registered on the server.");
                Client.SetDataUser(registrationJSON.Username, registrationJSON.Email, registrationJSON.Password);

                AllowJSON allow = new AllowJSON()
                {
                    Allow = true, Reason = reason
                };
                string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
                Client.SendAnswer(allowJSON);
                SendCodeEmail(registrationJSON.Email, registrationJSON.Username);
            }
            else
            {
                Console.WriteLine($"Client ID: {Client.Id}. User: {registrationJSON.Username}, Email: {registrationJSON.Email}. Can't register.");

                AllowJSON allow = new AllowJSON()
                {
                    Allow = false, Reason = reason
                };
                string allowJSON = System.Text.Json.JsonSerializer.Serialize <AllowJSON>(allow);
                Client.SendAnswer(allowJSON);
            }
        }