Comments
This commit is contained in:
@@ -12,6 +12,9 @@ namespace Display
|
||||
{
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Asks the user for credentials used for the first user - administrator.
|
||||
/// </summary>
|
||||
public static void InitialUserInput(out string userName, out string password)
|
||||
{
|
||||
try
|
||||
@@ -28,6 +31,10 @@ namespace Display
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Registers the initial user as an admin.
|
||||
/// </summary>
|
||||
/// <param name="uc">Current UserController</param>
|
||||
public static void InitialRegistration(UserController uc)
|
||||
{
|
||||
try
|
||||
|
@@ -10,17 +10,38 @@ namespace Display
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
static void Main()
|
||||
{
|
||||
User currentUser = new User();
|
||||
var uc = new UserController();
|
||||
try
|
||||
{
|
||||
BigLogo();
|
||||
Console.WriteLine("Luminous Sales v0.1 by A. Konarcheva, D. Byalkov & D. Todorov 2021");
|
||||
Console.WriteLine();
|
||||
var uc = new UserController();
|
||||
InitialSetup.InitialRegistration(uc);
|
||||
Console.Write("Enter password: ");
|
||||
User currentUser = uc.ValidatePassword(Console.ReadLine());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
bool isRunning = true;
|
||||
while (isRunning)
|
||||
{
|
||||
try
|
||||
{
|
||||
Console.Write("Enter password: ");
|
||||
currentUser = uc.ValidatePassword(Console.ReadLine());
|
||||
if (currentUser != null)
|
||||
{
|
||||
isRunning = false;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
uc = new UserController(currentUser);
|
||||
var view = new BaseView(currentUser);
|
||||
switch (currentUser.RoleId)
|
||||
@@ -44,6 +65,9 @@ namespace Display
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Logo splash screen
|
||||
/// </summary>
|
||||
private static void BigLogo()
|
||||
{
|
||||
Console.WriteLine(" _ _ _____ _ ");
|
||||
@@ -52,6 +76,8 @@ namespace Display
|
||||
Console.WriteLine(" | | | | | | '_ ` _ \\| | '_ \\ / _ \\| | | / __| \\___ \\ / _` | |/ _ / __|");
|
||||
Console.WriteLine(" | |___| |_| | | | | | | | | | | (_) | |_| \\__ \\ ____) | (_| | | __\\__ \\");
|
||||
Console.WriteLine(" |______\\__,_|_| |_| |_|_|_| |_|\\___/ \\__,_|___/ |_____/ \\__,_|_|\\___|___/");
|
||||
Console.WriteLine("Luminous Sales v0.1.1 by A. Konarcheva, D. Byalkov & D. Todorov 2021");
|
||||
Console.WriteLine();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -9,22 +9,32 @@ namespace Display.Views
|
||||
{
|
||||
public class AdminView : ManagerView
|
||||
{
|
||||
UserController userctl = new UserController();
|
||||
User currentUser;
|
||||
public AdminView(User currentUser) : base(currentUser)
|
||||
{
|
||||
this.currentUser = currentUser;
|
||||
}
|
||||
/// <summary>
|
||||
/// Shows the avaliable to the user commands.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The main menu.
|
||||
/// </remarks>
|
||||
public override void ShowAvaliableCommands()
|
||||
{
|
||||
base.ShowAvaliableCommands();
|
||||
Console.WriteLine("3. Administration");
|
||||
}
|
||||
/// <summary>
|
||||
/// Asks the user to choose which group of action to use.
|
||||
/// </summary>
|
||||
public override void ActionHandle()
|
||||
{
|
||||
try
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
Console.Clear();
|
||||
ShowAvaliableCommands();
|
||||
Console.Write("> ");
|
||||
int input = int.Parse(Console.ReadLine());
|
||||
@@ -52,6 +62,12 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Selection menu with admin actions.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Requires role level 3 (Admin).
|
||||
/// </remarks>
|
||||
public void AdminHandle()
|
||||
{
|
||||
bool running = true;
|
||||
@@ -62,18 +78,18 @@ namespace Display.Views
|
||||
Console.WriteLine("0. Back");
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("User Managment");
|
||||
Console.WriteLine("1. GetAll");
|
||||
Console.WriteLine("2. Get");
|
||||
Console.WriteLine("3. GetByApproximateName");
|
||||
Console.WriteLine("1. List all users");
|
||||
Console.WriteLine("2. Get user by id or name");
|
||||
Console.WriteLine("3. List users by name");
|
||||
Console.WriteLine("4. Register user");
|
||||
Console.WriteLine("5. Update Role");
|
||||
Console.WriteLine("5. Update role");
|
||||
Console.WriteLine("6. Update username");
|
||||
Console.WriteLine("7. UpdatePassword");
|
||||
Console.WriteLine("8. Delete User");
|
||||
Console.WriteLine("7. Update password");
|
||||
Console.WriteLine("8. Delete user");
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Product Managment");
|
||||
Console.WriteLine("9. AddItem");
|
||||
Console.WriteLine("10. GetAllItems");
|
||||
Console.WriteLine("9. Add product");
|
||||
Console.WriteLine("10. List all products");
|
||||
Console.Write("> ");
|
||||
try
|
||||
{
|
||||
@@ -125,11 +141,14 @@ namespace Display.Views
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Lists all products from the database.
|
||||
/// </summary>
|
||||
private void GetAllItems()
|
||||
{
|
||||
try
|
||||
{
|
||||
ProductController productctrl = new ProductController(currentUser);
|
||||
Console.WriteLine("Getting all items...");
|
||||
Console.WriteLine("ID - Name - Amount - Price");
|
||||
foreach (var item in productctrl.GetAll())
|
||||
@@ -142,16 +161,19 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Lists all registered users from the database.
|
||||
/// </summary>
|
||||
public void GetAllUsers()
|
||||
{
|
||||
try
|
||||
{
|
||||
UserController userctl = new UserController(currentUser);
|
||||
Console.WriteLine("Getting all users...");
|
||||
Console.WriteLine("User ID - Username - Role");
|
||||
foreach (var item in userctl.GetAll())
|
||||
{
|
||||
Console.WriteLine($"{item.Id} - {item.Name} - {item.Role} ");
|
||||
Console.WriteLine($"{item.Id} - {item.Name} - {item.Role.Name} ");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -159,10 +181,14 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Lists info about a user using their ID or name from the database.
|
||||
/// </summary>
|
||||
public void Get()
|
||||
{
|
||||
try
|
||||
{
|
||||
UserController userctl = new UserController(currentUser);
|
||||
Console.WriteLine("Getting user...");
|
||||
Console.Write("Get user by ID or Name: ");
|
||||
string input = Console.ReadLine();
|
||||
@@ -181,16 +207,20 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Lists all users which match the search term from the database.
|
||||
/// </summary>
|
||||
public void GetByApproximateName()
|
||||
{
|
||||
try
|
||||
{
|
||||
UserController userctl = new UserController(currentUser);
|
||||
Console.WriteLine("Getting by name...");
|
||||
Console.Write("Enter name: ");
|
||||
string input = Console.ReadLine();
|
||||
foreach (var item in userctl.GetByApproximateName(input))
|
||||
{
|
||||
Console.WriteLine($"{item.Id} {item.Name} {item.Role}");
|
||||
Console.WriteLine($"{item.Id} {item.Name} {item.Role.Name}");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -198,10 +228,14 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Registers a user using the provided data.
|
||||
/// </summary>
|
||||
public void RegisterItem()
|
||||
{
|
||||
try
|
||||
{
|
||||
UserController userctl = new UserController(currentUser);
|
||||
Console.WriteLine("Registering user...");
|
||||
Console.Write("Enter username: ");
|
||||
string username = Console.ReadLine();
|
||||
@@ -213,14 +247,17 @@ namespace Display.Views
|
||||
if (role == null)
|
||||
{
|
||||
userctl.RegisterItem(username, password);
|
||||
Console.WriteLine("Registered user successfully");
|
||||
}
|
||||
else if (result)
|
||||
{
|
||||
userctl.RegisterItem(username, password, roleId);
|
||||
Console.WriteLine("Registered user successfully");
|
||||
}
|
||||
else
|
||||
{
|
||||
userctl.RegisterItem(username, password, role);
|
||||
Console.WriteLine("Registered user successfully");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -228,10 +265,14 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Changes the role given to a specific user.
|
||||
/// </summary>
|
||||
public void UpdateRole()
|
||||
{
|
||||
try
|
||||
{
|
||||
UserController userctl = new UserController(currentUser);
|
||||
Console.WriteLine("Updating role...");
|
||||
Console.Write("Enter username: ");
|
||||
string username = Console.ReadLine();
|
||||
@@ -241,10 +282,12 @@ namespace Display.Views
|
||||
if (result)
|
||||
{
|
||||
userctl.UpdateRole(username, roleId);
|
||||
Console.WriteLine("Updated role successfully");
|
||||
}
|
||||
else
|
||||
{
|
||||
userctl.UpdateRole(username, role);
|
||||
Console.WriteLine("Updated role successfully");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -252,10 +295,14 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Renames a user.
|
||||
/// </summary>
|
||||
public void UpdateName()
|
||||
{
|
||||
try
|
||||
{
|
||||
UserController userctl = new UserController(currentUser);
|
||||
Console.WriteLine("Updating username...");
|
||||
Console.Write("Enter username or ID: ");
|
||||
string user = Console.ReadLine();
|
||||
@@ -265,10 +312,12 @@ namespace Display.Views
|
||||
if (result)
|
||||
{
|
||||
userctl.UpdateName(userId, username);
|
||||
Console.WriteLine("Updated username successfully");
|
||||
}
|
||||
else
|
||||
{
|
||||
userctl.UpdateRole(user, username);
|
||||
userctl.UpdateName(user, username);
|
||||
Console.WriteLine("Updated username successfully");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -276,10 +325,14 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Changes a users' password.
|
||||
/// </summary>
|
||||
public void UpdatePassword()
|
||||
{
|
||||
try
|
||||
{
|
||||
UserController userctl = new UserController(currentUser);
|
||||
Console.WriteLine("Updating password...");
|
||||
Console.Write("Enter username or ID: ");
|
||||
string user = Console.ReadLine();
|
||||
@@ -289,10 +342,12 @@ namespace Display.Views
|
||||
if (result)
|
||||
{
|
||||
userctl.UpdatePassword(userId, username);
|
||||
Console.WriteLine("Updated password successfully");
|
||||
}
|
||||
else
|
||||
{
|
||||
userctl.UpdatePassword(user, username);
|
||||
Console.WriteLine("Updated password successfully");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -300,10 +355,14 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Deletes a user from the database.
|
||||
/// </summary>
|
||||
public void Delete()
|
||||
{
|
||||
try
|
||||
{
|
||||
UserController userctl = new UserController(currentUser);
|
||||
Console.WriteLine("Deleting user...");
|
||||
Console.Write("Enter username or ID: ");
|
||||
string user = Console.ReadLine();
|
||||
@@ -311,10 +370,12 @@ namespace Display.Views
|
||||
if (result)
|
||||
{
|
||||
userctl.Delete(userId);
|
||||
Console.WriteLine("Deleted successfully");
|
||||
}
|
||||
else
|
||||
{
|
||||
userctl.Delete(user);
|
||||
Console.WriteLine("Deleted successfully");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -322,6 +383,9 @@ namespace Display.Views
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Add product to the database.
|
||||
/// </summary>
|
||||
public void AddItem()
|
||||
{
|
||||
ProductController productctrl = new ProductController(currentUser);
|
||||
|
@@ -22,6 +22,7 @@ namespace Display.Views
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("=== MAIN MENU ===");
|
||||
Console.WriteLine("0. Exit");
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("1. Sales");
|
||||
}
|
||||
public virtual void ActionHandle()
|
||||
@@ -30,6 +31,7 @@ namespace Display.Views
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
Console.Clear();
|
||||
ShowAvaliableCommands();
|
||||
Console.Write("> ");
|
||||
int input = int.Parse(Console.ReadLine());
|
||||
@@ -114,7 +116,7 @@ namespace Display.Views
|
||||
bool endTyped = false;
|
||||
while (!endTyped)
|
||||
{
|
||||
Console.Write("Type in item id or name: ");
|
||||
Console.Write("Enter item id or name (\"end\" to finish): ");
|
||||
string itemInput = Console.ReadLine();
|
||||
if (itemInput.ToLower() != "end")
|
||||
{
|
||||
|
@@ -13,7 +13,6 @@ namespace Display.Views
|
||||
public ManagerView(User currentUser):base(currentUser)
|
||||
{
|
||||
stockctrl = new StockController(currentUser);
|
||||
dealctrl = new DealController(currentUser);
|
||||
}
|
||||
public override void ShowAvaliableCommands()
|
||||
{
|
||||
@@ -26,6 +25,7 @@ namespace Display.Views
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
Console.Clear();
|
||||
ShowAvaliableCommands();
|
||||
Console.Write("> ");
|
||||
int input = int.Parse(Console.ReadLine());
|
||||
@@ -59,11 +59,11 @@ namespace Display.Views
|
||||
Console.WriteLine("0. Back");
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("Stock Managment");
|
||||
Console.WriteLine("1. GetAll");
|
||||
Console.WriteLine("2. Get");
|
||||
Console.WriteLine("3. GetByTime");
|
||||
Console.WriteLine("4. Add");
|
||||
Console.WriteLine("5. Delete");
|
||||
Console.WriteLine("1. List all stocks");
|
||||
Console.WriteLine("2. Get a stock");
|
||||
Console.WriteLine("3. List stocks by time");
|
||||
Console.WriteLine("4. Add stock");
|
||||
Console.WriteLine("5. Delete stock");
|
||||
Console.Write("> ");
|
||||
try
|
||||
{
|
||||
@@ -174,10 +174,12 @@ namespace Display.Views
|
||||
if (result)
|
||||
{
|
||||
stockctrl.Add(productId, amount, DateTime.Now);
|
||||
Console.WriteLine("Added stock successfully");
|
||||
}
|
||||
else
|
||||
{
|
||||
stockctrl.Add(product, amount, DateTime.Now);
|
||||
Console.WriteLine("Added stock successfully");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -195,6 +197,7 @@ namespace Display.Views
|
||||
Console.Write("Enter stock id: ");
|
||||
int id = int.Parse(Console.ReadLine());
|
||||
stockctrl.Delete(id);
|
||||
Console.WriteLine($"Deleted stock {id} successfully");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
Reference in New Issue
Block a user