コード例 #1
0
        public void DeleteUser()
        {
            User SelectedUser = MainMenu.SelectUser();

            if (SelectedUser != null)
            {
                string Selection = MenuStyle.Horizontal(new List <string>
                {
                    "Delete User",
                    "Back"
                });

                switch (Selection)
                {
                case "Delete User":
                    DataProvider.DeleteUser(SelectedUser);
                    Console.WriteLine($"{SelectedUser.UserName} just deleted");
                    Thread.Sleep(1600);
                    break;

                case "Back":
                    return;
                }
            }
            else
            {
                return;
            }
        }
コード例 #2
0
        public Message GetAnyWantedMessage()
        {
            string AnyMessage = MenuStyle.Horizontal(new List <string> {
                "All Messages", "Back"
            });
            List <Message> Messages = new List <Message>();

            switch (AnyMessage)
            {
            case "All Messages":
                Messages = GetAllMessages();
                break;

            default:
                return(null);
            }
            if (Messages.Count > 0)
            {
                string SelectedMessage = MenuStyle.Vertical(Messages.Select(m => "Message ID: " + m.Id.ToString() + ", at: " + $"{m.TimeSent.ToShortDateString()}" + $", {m.Sender.UserName} " + "sent: " + m.Body + ", to " + $"{m.Receiver.UserName}").ToList());
                return(Messages.Single(pm => "Message ID: " + pm.Id.ToString() + ", at: " + $"{pm.TimeSent.ToShortDateString()}" + $", {pm.Sender.UserName} " + "sent: " + pm.Body + ", to " + $"{pm.Receiver.UserName}" == SelectedMessage));
            }
            else
            {
                Console.WriteLine("No Messages to Display");
                Thread.Sleep(1600);
                return(null);
            }
        }
コード例 #3
0
        public User SignInOrRegister(IDataHandling DataProvider)
        {
            string UsersChoice = MenuStyle.Horizontal(new List <string> {
                "Sign In", "Register", "Exit"
            });

            if (UsersChoice == "Exit")
            {
                Console.WriteLine("\tThank you for watching");
                Thread.Sleep(1600);
                Environment.Exit(0);
            }
            else if (UsersChoice == "Register")
            {
                FileStorage file    = new FileStorage();
                UserData    Data    = GetInputUserData(true);
                User        NewUser = new User()
                {
                    UserName   = Data.InputName,
                    Password   = Data.InputPassword,
                    UserAccess = DataProvider.EmptyStorage() ? Role.administrator : Role.visitor
                };
                DataProvider.CreateUserData(NewUser);
                file.CreateFileUserData(NewUser);
                Console.WriteLine($"\nNew User {NewUser.UserName} was created successfully");
                Thread.Sleep(1600);
                return(NewUser);
            }
            else if (UsersChoice == "Sign In")
            {
                tries = 3;
                do
                {
                    User ActiveUser = SigninUser();
                    if (ActiveUser == null)
                    {
                        Console.WriteLine("\nInvalid Username or Password, Please try again");
                        tries--;
                        Console.WriteLine($"Remaining Tries {tries}/3");
                    }
                    else
                    {
                        Console.WriteLine($"\nWelcome { ActiveUser.UserName } !!!");
                        Thread.Sleep(1600);
                        return(ActiveUser);
                    }
                    if (tries == 0)
                    {
                        Console.WriteLine("\nToo many false attempts\n\nExit from application");
                        Thread.Sleep(1800);
                        Environment.Exit(0);
                    }
                }while (true);
            }
            return(null);
        }
コード例 #4
0
        public void UpdateUserAccess()
        {
            User SelectedUser = MainMenu.SelectUser();

            if (SelectedUser != null)
            {
                string UpdateSelection = MenuStyle.Horizontal(new List <string> {
                    $"\n\t{SelectedUser.UserName} is {SelectedUser.UserAccess}, how do you want to change his permissions?"
                });
                if (SelectedUser.UserAccess == Role.administrator)
                {
                    UpdateSelection = MenuStyle.Horizontal(new List <string> {
                        "Downgrade to Moderator", "Downgrade to User", "Downgrade to Visitor", "Back"
                    });
                }
                else if (SelectedUser.UserAccess == Role.moderator)
                {
                    UpdateSelection = MenuStyle.Horizontal(new List <string> {
                        "Upgrade to Administrator", "Downgrade to User", "Downgrade to Visitor", "Back"
                    });
                }
                else if (SelectedUser.UserAccess == Role.user)
                {
                    UpdateSelection = MenuStyle.Horizontal(new List <string> {
                        "Upgrade to Administrator", "Upgrade to Moderator", "Downgrade to Visitor", "Back"
                    });
                }
                else
                {
                    UpdateSelection = MenuStyle.Horizontal(new List <string> {
                        "Upgrade to Administrator", "Upgrade to Moderator", "Upgrade to User", "Back"
                    });
                }

                if (UpdateSelection.Contains("Administrator"))
                {
                    SelectedUser.UserAccess = Role.administrator;
                }
                else if (UpdateSelection.Contains("Moderator"))
                {
                    SelectedUser.UserAccess = Role.moderator;
                }
                else if (UpdateSelection.Contains("User"))
                {
                    SelectedUser.UserAccess = Role.user;
                }
                else if (UpdateSelection.Contains("Visitor"))
                {
                    SelectedUser.UserAccess = Role.visitor;
                }
                else
                {
                    return;
                }
                Console.WriteLine($"{SelectedUser.UserName} updated to {SelectedUser.UserAccess}");
                Thread.Sleep(1700);
                DataProvider.UpdateUserRole(SelectedUser);
            }
            else
            {
                return;
            }
        }