From 8cf5c93a982224b66d9987735a19e2461390d462 Mon Sep 17 00:00:00 2001 From: Dimitar Byalkov Date: Fri, 19 Mar 2021 14:39:00 +0200 Subject: [PATCH] AdminView 1 --- LuminousSales/Display/InputHandler.cs | 10 -- LuminousSales/Display/Views/AdminView.cs | 197 ++++++++++++++++++++- LuminousSales/Display/Views/ManagerView.cs | 14 +- 3 files changed, 202 insertions(+), 19 deletions(-) diff --git a/LuminousSales/Display/InputHandler.cs b/LuminousSales/Display/InputHandler.cs index 66f85ca..2c2130b 100644 --- a/LuminousSales/Display/InputHandler.cs +++ b/LuminousSales/Display/InputHandler.cs @@ -8,11 +8,9 @@ namespace Display { public void CommandLineInterface() { - ShowAvaliableCommands(); while (true) { Console.WriteLine("Select action"); - Console.WriteLine("Sales, UserManagment"); string input = ""; try { @@ -31,14 +29,6 @@ namespace Display } } } - public void ShowAvaliableCommands() - { - Console.WriteLine("asad"); - Console.WriteLine("asad"); - Console.WriteLine("asad"); - Console.WriteLine("asad"); - Console.WriteLine("asad"); - } public void Sales() { try diff --git a/LuminousSales/Display/Views/AdminView.cs b/LuminousSales/Display/Views/AdminView.cs index b6b397f..2d19ad9 100644 --- a/LuminousSales/Display/Views/AdminView.cs +++ b/LuminousSales/Display/Views/AdminView.cs @@ -1,10 +1,201 @@ -using System; +using Business.Business.Sales; +using Business.Business.UserManagment; +using Models.Models; +using System; using System.Collections.Generic; using System.Text; -namespace Display +namespace Display.Views { - class AdminView + class AdminView : ManagerView { + UserController userctl = new UserController(); + public AdminView(User currentUser) : base(currentUser) + { + + } + public override void ShowAvaliableCommands() + { + base.ShowAvaliableCommands(); + Console.WriteLine("3. User Managment"); + } + public void GetAllUsers() + { + try + { + Console.WriteLine("Getting all users..."); + foreach (var item in userctl.GetAll()) + { + Console.WriteLine($"{item.Id} {item.Name} {item.Role} "); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + public void Get() + { + try + { + Console.WriteLine("Getting user..."); + Console.Write("Get user by ID or Name: "); + string input = Console.ReadLine(); + int.TryParse(input, out int inputId); + if (inputId != 0) + { + Console.WriteLine(userctl.Get(inputId)); + } + else + { + Console.WriteLine(userctl.Get(input)); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + public void GetByApproximateName() + { + try + { + 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}"); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + public void RegisterItem() + { + try + { + Console.WriteLine("Registering user..."); + Console.Write("Enter username: "); + string username = Console.ReadLine(); + Console.Write("Enter password: "); + string password = Console.ReadLine(); + Console.Write("Enter role ID or name (default 1, Cashier): "); + string role = Console.ReadLine(); + bool result = int.TryParse(role, out int roleId); + if (role == null) + { + userctl.RegisterItem(username, password); + } + else if (result) + { + userctl.RegisterItem(username, password, roleId); + } + else + { + userctl.RegisterItem(username, password, role); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + public void UpdateRole() + { + try + { + Console.WriteLine("Updating role..."); + Console.Write("Enter username: "); + string username = Console.ReadLine(); + Console.Write("Enter new role ID or name: "); + string role = Console.ReadLine(); + bool result = int.TryParse(role, out int roleId); + if (result) + { + userctl.UpdateRole(username, roleId); + } + else + { + userctl.UpdateRole(username, role); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + public void UpdateName() + { + try + { + Console.WriteLine("Updating username..."); + Console.Write("Enter username or ID: "); + string user = Console.ReadLine(); + Console.Write("Enter new username: "); + string username = Console.ReadLine(); + bool result = int.TryParse(user, out int userId); + if (result) + { + userctl.UpdateName(userId, username); + } + else + { + userctl.UpdateRole(user, username); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + public void UpdatePassword() + { + try + { + Console.WriteLine("Updating password..."); + Console.Write("Enter username or ID: "); + string user = Console.ReadLine(); + Console.Write("Enter new password: "); + string username = Console.ReadLine(); + bool result = int.TryParse(user, out int userId); + if (result) + { + userctl.UpdatePassword(userId, username); + } + else + { + userctl.UpdatePassword(user, username); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + public void Delete() + { + try + { + Console.WriteLine("Deleting user..."); + Console.Write("Enter username or ID: "); + string user = Console.ReadLine(); + bool result = int.TryParse(user, out int userId); + if (result) + { + userctl.Delete(userId); + } + else + { + userctl.Delete(user); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } } } diff --git a/LuminousSales/Display/Views/ManagerView.cs b/LuminousSales/Display/Views/ManagerView.cs index 6820645..dc3dca4 100644 --- a/LuminousSales/Display/Views/ManagerView.cs +++ b/LuminousSales/Display/Views/ManagerView.cs @@ -15,7 +15,11 @@ namespace Display.Views stockctrl = new StockController(currentUser); dealctrl = new DealController(currentUser); } - + public override void ShowAvaliableCommands() + { + base.ShowAvaliableCommands(); + Console.WriteLine("2. Stock"); + } public void GetAll() { try @@ -53,21 +57,19 @@ namespace Display.Views } - public void GetByTime(DateTime startTime, DateTime endTime) + public void GetByTime() { try { Console.WriteLine("Getting stock by time..."); Console.WriteLine("Enter start time: "); - startTime = new DateTime(); + DateTime startTime = DateTime.Parse(Console.ReadLine()); Console.WriteLine("Enter end time: "); - endTime = new DateTime(); + DateTime endTime = DateTime.Parse(Console.ReadLine()); stockctrl.GetByTime(startTime, endTime); - } catch (Exception e) { - Console.WriteLine(e.Message); } }