Files
luminous-sales/LuminousSales/Display/Views/AdminView.cs
Dimitar Byalkov 8cf5c93a98 AdminView 1
2021-03-19 14:39:00 +02:00

202 lines
6.1 KiB
C#

using Business.Business.Sales;
using Business.Business.UserManagment;
using Models.Models;
using System;
using System.Collections.Generic;
using System.Text;
namespace Display.Views
{
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);
}
}
}
}