From e3b1409b693fa80eba8e064326c1756bcffa6625 Mon Sep 17 00:00:00 2001 From: Dimitar Byalkov Date: Sat, 20 Mar 2021 17:09:18 +0200 Subject: [PATCH] Big Logo --- LuminousSales/Display/Program.cs | 13 +++++- LuminousSales/Display/Views/AdminView.cs | 3 +- LuminousSales/Display/Views/BaseView.cs | 57 +++++++++++++++++------- 3 files changed, 55 insertions(+), 18 deletions(-) diff --git a/LuminousSales/Display/Program.cs b/LuminousSales/Display/Program.cs index 4c24219..22ad0e2 100644 --- a/LuminousSales/Display/Program.cs +++ b/LuminousSales/Display/Program.cs @@ -14,6 +14,9 @@ namespace Display { 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: "); @@ -34,7 +37,6 @@ namespace Display default: break; } - Console.WriteLine("Luminous Sales v0.1"); view.ActionHandle(); } catch (Exception e) @@ -42,5 +44,14 @@ namespace Display Console.WriteLine(e.Message); } } + private static void BigLogo() + { + Console.WriteLine(" _ _ _____ _ "); + Console.WriteLine(" | | (_) / ____| | | "); + Console.WriteLine(" | | _ _ _ __ ___ _ _ __ ___ _ _ ___ | (___ __ _| | ___ ___ "); + Console.WriteLine(" | | | | | | '_ ` _ \\| | '_ \\ / _ \\| | | / __| \\___ \\ / _` | |/ _ / __|"); + Console.WriteLine(" | |___| |_| | | | | | | | | | | (_) | |_| \\__ \\ ____) | (_| | | __\\__ \\"); + Console.WriteLine(" |______\\__,_|_| |_| |_|_|_| |_|\\___/ \\__,_|___/ |_____/ \\__,_|_|\\___|___/"); + } } } diff --git a/LuminousSales/Display/Views/AdminView.cs b/LuminousSales/Display/Views/AdminView.cs index 9944e25..753300c 100644 --- a/LuminousSales/Display/Views/AdminView.cs +++ b/LuminousSales/Display/Views/AdminView.cs @@ -12,7 +12,7 @@ namespace Display.Views UserController userctl = new UserController(); public AdminView(User currentUser) : base(currentUser) { - + this.currentUser = currentUser; } public override void ShowAvaliableCommands() { @@ -300,6 +300,7 @@ namespace Display.Views } public void AddItem() { + ProductController productctrl = new ProductController(currentUser); try { Console.WriteLine("Adding item to database..."); diff --git a/LuminousSales/Display/Views/BaseView.cs b/LuminousSales/Display/Views/BaseView.cs index 201fe2f..ce1adab 100644 --- a/LuminousSales/Display/Views/BaseView.cs +++ b/LuminousSales/Display/Views/BaseView.cs @@ -11,9 +11,10 @@ namespace Display.Views { internal ProductController productctrl; private DealController dealctrl; - private User currentUser; + internal User currentUser; public BaseView(User currentUser) { + this.currentUser = currentUser; this.dealctrl = new DealController(currentUser); } public virtual void ShowAvaliableCommands() @@ -107,22 +108,46 @@ namespace Display.Views { try { - Console.Write("Type in item id or name: "); - string itemInput = Console.ReadLine(); - int itemId; - if (int.TryParse(itemInput, out itemId)) + List check = new List(); + bool endTyped = false; + while (!endTyped) { - var productToAdd = productctrl.Get(itemId); - Console.Write("Amount: "); - double amount = double.Parse(Console.ReadLine()); - dealctrl.Add(itemId, amount, DateTime.Now); - } - else - { - var productToAdd = productctrl.Get(itemInput); - Console.Write("Amount: "); - double amount = double.Parse(Console.ReadLine()); - dealctrl.Add(itemInput, amount, DateTime.Now); + Console.Write("Type in item id or name: "); + string itemInput = Console.ReadLine(); + if (itemInput.ToLower() != "end") + { + int itemId; + if (int.TryParse(itemInput, out itemId)) + { + var productToAdd = productctrl.Get(itemId); + Console.Write("Amount: "); + double amount = double.Parse(Console.ReadLine()); + dealctrl.Add(itemId, amount, DateTime.Now); + check.Add(productToAdd); + } + else + { + var productToAdd = productctrl.Get(itemInput); + Console.Write("Amount: "); + double amount = double.Parse(Console.ReadLine()); + dealctrl.Add(itemInput, amount, DateTime.Now); + check.Add(productToAdd); + } + } + else + { + endTyped = true; + Console.WriteLine("Check"); + double sum = 0; + var lastdeals = dealctrl.GetAll().OrderByDescending(x => x.Id).ToArray(); + for (int i = 0; i < check.Count; i++) + { + sum += check[i].Price * lastdeals[i].Amount; + int rowNum = i + 1; + Console.WriteLine($"{rowNum} {check[i].Name} {check[i].Price}x{lastdeals[i].Amount}"); + } + Console.WriteLine($"Total: {sum}"); + } } } catch (Exception e)