Exemple #1
0
        private static async Task Resubscribe(User user)
        {
            user.CurrentlySubscribed = true;

            await UserHttpMethods.UpdateUser(_client, user);

            Console.WriteLine("Successfully resubscribed.");
        }
Exemple #2
0
        private static async Task Unsubscribe(int userId)
        {
            User currentUser = JsonConvert.DeserializeObject <User>(await UserHttpMethods.GetUserById(_client, userId));

            currentUser.CurrentlySubscribed = false;

            await UserHttpMethods.UpdateUser(_client, currentUser);

            Console.WriteLine("Successfully unsubscribed.");
        }
Exemple #3
0
        private static async Task Subscribe(List <User> users)
        {
            Console.WriteLine("Please enter a username");
            string username = Console.ReadLine();

            while (string.IsNullOrWhiteSpace(username))
            {
                Console.WriteLine("Invalid response. Please enter a valid username.");
                username = Console.ReadLine();
            }

            bool isUniqueUsername = false;

            while (!isUniqueUsername)
            {
                isUniqueUsername = true;
                foreach (User user in users)
                {
                    if (user.Username == username)
                    {
                        isUniqueUsername = false;

                        Console.WriteLine("That username is taken. Please enter another username");
                        username = Console.ReadLine();

                        while (string.IsNullOrWhiteSpace(username))
                        {
                            Console.WriteLine("Invalid response. Please enter a valid username.");
                            username = Console.ReadLine();
                        }
                        break;
                    }
                }
            }

            Console.WriteLine("Please enter a password");
            string password = Console.ReadLine();

            while (string.IsNullOrWhiteSpace(password))
            {
                Console.WriteLine("Invalid response. Please enter a valid password.");
                password = Console.ReadLine();
            }

            User newUser = new User()
            {
                Username = username, Password = password
            };
            await UserHttpMethods.AddUser(_client, newUser);
        }
Exemple #4
0
        private static async Task <int> Login()
        {
            string username, password;

            do
            {
                Console.WriteLine("Please enter a valid username");
                username = Console.ReadLine();

                Console.WriteLine("Please enter a valid password");
                password = Console.ReadLine();
            }while (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password));

            List <User> users = JsonConvert.DeserializeObject <List <User> >(await UserHttpMethods.GetUsers(_client));

            foreach (User user in users)
            {
                if (username == user.Username)
                {
                    int userId = user.UserId;
                    if (password == user.Password)
                    {
                        if (user.CurrentlySubscribed)
                        {
                            return(user.UserId);
                        }
                        else
                        {
                            Console.WriteLine("You are currently unsubscribed. Would you like to resubscribe? (y/n)");
                            string resubscribeUser = Console.ReadLine().ToLower();

                            while (string.IsNullOrWhiteSpace(resubscribeUser))
                            {
                                Console.WriteLine("Invalid response. Would you like to resubscribe? (y/n)");
                                resubscribeUser = Console.ReadLine().ToLower();
                            }

                            if (resubscribeUser == "y")
                            {
                                await Resubscribe(user);

                                return(user.UserId);
                            }
                            else
                            {
                                return(-1);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("Incorrect password.");
                        return(0);
                    }
                }
            }

            Console.WriteLine("You are not in the database, would you like to be added? (y/n)");
            string addUser = Console.ReadLine().ToLower();

            while (string.IsNullOrWhiteSpace(addUser))
            {
                Console.WriteLine("Invalid response. Would you like to be added to the database? (y/n)");
                addUser = Console.ReadLine().ToLower();
            }

            if (addUser == "y")
            {
                await Subscribe(users);

                List <User> newUsers = JsonConvert.DeserializeObject <List <User> >(await UserHttpMethods.GetUsers(_client));
                return(newUsers[newUsers.Count - 1].UserId);
            }
            return(-1);
        }