public static List <Produkt> GetProducts() { var ProductList = new List <Produkt>(); using (System.IO.StreamReader Filen = System.IO.File.OpenText(@"../../produkter.txt")) { string Rad; while ((Rad = Filen.ReadLine()) != null) { String[] ProductInfo = Rad.Split(','); int productID = int.Parse(ProductInfo[0]); double Pris = double.Parse(ProductInfo[1]); int MaxItems = int.Parse(ProductInfo[4]); var Produkt = new Produkt(productID, Pris, ProductInfo[2], ProductInfo[3], MaxItems); ProductList.Add(Produkt); } } return(ProductList); }
public static void OpenAdminMenu() { while (true) { Console.Clear(); Console.WriteLine("ADMIN"); Console.WriteLine("1. Ändra Produkt Namn"); Console.WriteLine("2. Ändra Produkt Pris"); Console.WriteLine("3. Begränsa Produkt Antal"); Console.WriteLine("4. Ändra Kampanj"); Console.WriteLine("5. Läs Kvitto"); Console.WriteLine("6. Återvänd"); int userInput; while (!int.TryParse(Console.ReadLine(), out userInput)) { Console.WriteLine("Ange endast siffror i din inmatning"); } switch (userInput) { case 1: { Produkt.ChangeName(); continue; } case 2: { Produkt.ChangePrice(); continue; } case 3: { Produkt.ChangeMax(); continue; } case 4: { Menu.OpenCampaignMenu(); continue; } case 5: { Menu.OpenSearchMenu(); break; } case 6: { return; } default: { Console.WriteLine("Fel inmatning. Följ Menyns gränser."); continue; } } } }
public static void CampaignDateChange() { while (true) { Console.Clear(); Menu.PrintProducts(); Console.WriteLine("Ändra Datum: Ange det produkt ID du vill ändra."); bool isFound = false; DateTime Date1; DateTime Date2; int IdInput = Menu.ReturnMenuInput(); int SelectedID = 0; var Products = Produkt.GetProducts(); foreach (Produkt P in Products) { if (P.ProductID == IdInput) { SelectedID = IdInput; isFound = true; } } if (!isFound) { Console.WriteLine("Hittade inte produkten. Försök igen.."); continue; } while (true) { Console.Clear(); Console.WriteLine("Ange Start Datum - Format YYYY,MM,DD"); Date1 = Menu.ReturnDateTime(); Console.WriteLine("Ange S**t Datum - Format YYYY,MM,DD"); Date2 = Menu.ReturnDateTime(); if (Date2 < Date1) { Console.WriteLine("S**t Datum kan inte vara innan Start Datum! Försök igen!"); Console.ReadLine(); continue; } break; } var Campaigns = ReturnCampaignFile(); foreach (Campaign C in Campaigns) { if (C.ProductID == SelectedID) { C.Date1 = Date1; C.Date2 = Date2; if (C.CampaignPrice > 0) { Console.WriteLine($"Produkt ID: {C.ProductID} har nu kampanj från {Date1.ToString("yyyy/MM/dd")} till {Date2.ToString("yyyy/MM/dd")} för {C.CampaignPrice}kr"); } else { Console.WriteLine($"Produkt ID: {C.ProductID} har nu kampanj från {Date1.ToString("yyyy/MM/dd")} till {Date2.ToString("yyyy/MM/dd")}"); } } } Console.ReadLine(); CampaignWrite(Campaigns); break; } }
public static void Kassa() { var ItemList = new List <KassaItem>(); DateTime KvittoTime = DateTime.Now; var ProductList = Produkt.GetProducts(); int Number = 1000; double TotalSumma; double Rabatt = 0; double TotalRabatt = 0; int ProductID; int ProductAmount; bool isNotAdded; while (true) { while (true) { Console.Clear(); Console.WriteLine("KASSA"); Console.WriteLine("KVITTO {0}", KvittoTime); TotalSumma = 0; isNotAdded = true; if (ItemList.Count > 0) { foreach (KassaItem K in ItemList) { Console.WriteLine("{0} {1}{2} * {3} = {4}", K.Namn, K.Amount, K.Typ, K.Pris.ToString("0.00"), K.Total.ToString("0.00")); TotalSumma += K.Total; } Console.WriteLine("Items Total: {0}", TotalSumma.ToString("0.00")); if (TotalSumma >= 1000 && TotalSumma < 2000) { Rabatt = (TotalSumma * 0.01) * -1; TotalRabatt = TotalSumma * 0.99; Console.WriteLine("Rabatt: {0}", Rabatt.ToString("0.00")); Console.WriteLine("Total: {0}", TotalRabatt.ToString("0.00")); } else if (TotalSumma >= 2000) { Rabatt = (TotalSumma * 0.02) * -1; TotalRabatt = TotalSumma * 0.98; Console.WriteLine("Rabatt: {0}", Rabatt.ToString("0.00")); Console.WriteLine("Total: {0}", TotalRabatt.ToString("0.00")); } } Console.WriteLine("\nKommandon:\n<ProductID> <Antal>\nRETURN <ProductID>\nPAY - Confirm the Order\nEXIT - Return to Main Menu"); Console.Write("Kommando:"); string UserInput = Console.ReadLine().ToUpper(); if (UserInput == "PAY") { foreach (KassaItem K in ItemList) { K.Rabatt = Rabatt; K.TotalRabatt = TotalRabatt; K.Pris = Campaign.CampaignRead(K.ProductID, K.Pris); } Kvitto.CreateKvitto(KvittoTime, ItemList); Console.Clear(); return; } if (UserInput == "EXIT") { Console.Clear(); return; } if (UserInput.Contains(" ")) { String[] KommandoInfo = UserInput.Split(' '); if (KommandoInfo[0] == "RETURN") { ProductID = int.Parse(KommandoInfo[1]); foreach (KassaItem P in ItemList) { if (ProductID == P.ProductID && P.Amount <= 1) { ItemList.Remove(P); break; } else if (ProductID == P.ProductID && P.Amount > 1) { P.Amount = P.Amount - 1; P.Total = P.Total - P.Pris; } } continue; } try { ProductID = int.Parse(KommandoInfo[0]); ProductAmount = int.Parse(KommandoInfo[1]); if (ProductAmount <= 0) { continue; } break; } catch (Exception E) { Console.WriteLine(E); Console.ReadLine(); } } } bool failed = false; int tempMax = 0; foreach (Produkt P in ProductList) { if (P.ProductID == ProductID) { tempMax = P.MaxItems; } } foreach (KassaItem T in ItemList) { if (T.ProductID == ProductID && T.Amount > 0) { double TempTotal = T.Amount + ProductAmount; if (TempTotal <= tempMax || tempMax == 0) { T.Amount += ProductAmount; T.Total = T.Amount * T.Pris; isNotAdded = false; } else { Console.WriteLine($"Endast {tempMax} tillåtet, med dessa blir det {T.Amount + ProductAmount}. Försök igen..."); Console.ReadLine(); failed = true; break; } } } if (!failed) { foreach (Produkt P in ProductList) { if (ProductID == P.ProductID && isNotAdded) { if (P.MaxItems >= ProductAmount || P.MaxItems == 0) { P.Pris = Campaign.CampaignRead(ProductID, P.Pris); var Item = new KassaItem(P.Namn, P.Pris, P.Typ, ProductAmount, P.ProductID, TotalRabatt, Rabatt, Number); ItemList.Add(Item); } else { Console.WriteLine($"Endast {tempMax} tillåtet, med dessa blir det {ProductAmount}. Försök igen..."); Console.ReadLine(); break; } } } } } }