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; } }
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); } }
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); }
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; } }