public static void ReaSättLagerProdukt(Lager lager) { int id; while (true) { Console.Clear(); Console.WriteLine("Reasätt produkt\nListar alla produkter som inte är rea: "); lager.ListaLagerProdukterSomEjÄrRea(); Console.Write("Välj produkt <id> : "); if (!int.TryParse(Console.ReadLine(), out id) || !lager.ProduktFinnsILager(id)) { Meddelande("Denna produkt id finns ej!"); continue; } var produkt = lager.HämtaLagerProdukt(id); Console.WriteLine($"Reasätter produkt med id: {produkt.ID} "); MataInReaStart(produkt); MataInReaSlut(produkt); MataInReaPris(produkt); MataInMaxAntal(produkt); Meddelande($"{produkt.Namn} är nu reasatt med start: {produkt.ReaStart.Date} och s**t {produkt.ReaSlut.Date} och reapris på {produkt.ReaPris}"); IOFunktioner.SparaLagerProdukterIFil(lager.Produkter, Lager.path); break; } }
public Kvitto() { Produkter = new List <Produkt>(); Datum = DateTime.Now; Path = $@"..\..\RECIEPT_{Datum.ToString("yyyyMMdd")}.txt"; Nummer = IOFunktioner.HämtaKvittoNummer(Path); }
public static void SkapaNyLagerProdukt(Lager lager) { Console.Clear(); Console.WriteLine("Skapa produkt"); int id = MataInNyId(lager); string namn = MataInNamn(lager); decimal pris = MataInOrginalPris(); string prisTyp = MataInPrisTyp(); if (prisTyp == "st") { lager.Produkter.Add(new Produkt(id, namn, Produkt.Typ.St, pris)); } else if (prisTyp == "kg") { lager.Produkter.Add(new Produkt(id, namn, Produkt.Typ.Kg, pris)); } Meddelande($"Lägger till produkt ID: {id} Namn: {namn} Pris: {pris} {prisTyp}"); IOFunktioner.SparaLagerProdukterIFil(lager.Produkter, Lager.path); }
public static void RedigeraLagerProdukt(Lager lager) { int id; while (true) { Console.Clear(); Console.WriteLine("Redigera produkt"); lager.ListaLagerProdukter(); Console.Write("Välj produkt <id> : "); if (!int.TryParse(Console.ReadLine(), out id) || !lager.ProduktFinnsILager(id)) { Meddelande("Denna produkt id finns ej!"); continue; } var produkt = lager.HämtaLagerProdukt(id); Console.WriteLine($"Redigera produkt med id: {produkt.ID} "); produkt.BytNamnPåProdukt(MataInNamn(lager)); produkt.BytPrisPåProdukt(MataInOrginalPris()); Meddelande($"ID: {produkt.ID} heter nu {produkt.Namn} och kostar {produkt.OrginalPris}"); IOFunktioner.SparaLagerProdukterIFil(lager.Produkter, Lager.path); break; } }
public static void SökKvitto() { DateTime datum; string kvittoInnehåll; while (true) { Console.Clear(); Console.WriteLine("Sök kvitto"); Console.Write("Mata in datum på kvitto i detta format (ÅÅÅÅ-MM-DD): "); if (DateTime.TryParse(Console.ReadLine(), out datum)) { kvittoInnehåll = IOFunktioner.HämtaKvittoText(datum); if (kvittoInnehåll == null) { Meddelande("Hittade ej kvitto!"); break; } else { string[] kvitton = kvittoInnehåll.Split('#'); int kvittoNummer; var totalPris = new List <decimal>(); Console.WriteLine("Hittade kvitton!"); for (int i = 1; i < kvitton.Length; i++) { string[] splittadkvitto = kvitton[i].Split('¨'); decimal pris = Convert.ToDecimal(splittadkvitto[2]); totalPris.Add(pris); Console.WriteLine($"Kvitto: {splittadkvitto[0]} ----- Total: {pris,0:C}"); } Console.WriteLine($"Totalt för dagen: {totalPris.Sum(), 0:C}"); while (true) { Console.Write("Vilket kvitto vill du se? Mata in kvittonummer!: "); if (int.TryParse(Console.ReadLine(), out kvittoNummer)) { if (kvittoNummer > 0 && kvittoNummer < kvitton.Length) { string[] splittadkvitto = kvitton[kvittoNummer].Split('¨'); decimal pris = Convert.ToDecimal(splittadkvitto[2]); Console.Write(splittadkvitto[0].Replace('¨', ' ')); Console.Write(splittadkvitto[1].Replace('¨', ' ')); Console.WriteLine($" {pris,0:C}"); Console.ReadLine(); break; } else { Console.WriteLine("Kvittonummer finns ej!"); continue; } } else { Console.WriteLine("Kvittonummer finns ej!"); continue; } } break; } } else { Meddelande("Ogiltig input! Mata in datum enligt format!"); } } }
private void HämtaLagerProdukterFrånFil() { IOFunktioner.HämtaLagerProdukter(Produkter, path); }
private void KommandoStringParse(string kommandoInput, Lager lager, Kvitto kvitto) //Validerar kommando input och kollar om produkt id'n existerar i lager { string[] splittad = kommandoInput.Split(' '); int produktid; int antal; if (splittad.Length == 2 && int.TryParse(splittad[0], out produktid) && int.TryParse(splittad[1], out antal)) { if (!lager.ProduktFinnsILager(produktid)) { Meddelande = "Produkten existerar ej!"; } else if (antal < 1) { Meddelande = "Antal måste vara 1 eller mer!"; } else { var nyProdukt = new Produkt(lager.HämtaLagerProdukt(produktid)); if (!kvitto.ProduktFinnsIKvitto(nyProdukt.ID) && !nyProdukt.AntalBlirÖverMax(antal)) { nyProdukt.Antal = antal; kvitto.Produkter.Add(new Produkt(nyProdukt)); } else if (kvitto.ProduktFinnsIKvitto(nyProdukt.ID)) { var kvittoProdukt = kvitto.HämtaProduktIKvitto(nyProdukt.ID); if (!kvittoProdukt.AntalBlirÖverMax(antal)) { kvittoProdukt.Antal += antal; } else { Meddelande = $"Max {kvittoProdukt.MaxAntal} {kvittoProdukt.HämtaPrisTyp()} per kund! Kunden får ej köpa {kvittoProdukt.Antal + antal} {kvittoProdukt.HämtaPrisTyp()}"; kvittoProdukt.Antal = kvittoProdukt.MaxAntal; } } else { Meddelande = $"Max {nyProdukt.MaxAntal} {nyProdukt.HämtaPrisTyp()} per kund! Kunden får ej köpa {nyProdukt.Antal + antal} {nyProdukt.HämtaPrisTyp()}"; nyProdukt.Antal = nyProdukt.MaxAntal; kvitto.Produkter.Add(new Produkt(nyProdukt)); } } } else if (splittad.Length == 2 && splittad[0] == "RETURN" && int.TryParse(splittad[1], out produktid)) { if (!kvitto.ProduktFinnsIKvitto(produktid)) { Meddelande = "Produkt finns ej i kvitto"; } else { var kvittoProdukt = kvitto.HämtaProduktIKvitto(produktid); Meddelande = $"Tar bort produkt med id: {produktid}"; kvitto.TaBortProdukt(kvittoProdukt); } } else if (kommandoInput == "PAY") { if (kvitto.Produkter.Count < 1) { Meddelande = "Lägg till produkter först"; } else { Pay = true; IOFunktioner.SkrivUtKvittoTillFil(kvitto); Meddelande = "Skriver ut kvitto..."; } } else { Meddelande = "Ogiltigt kommando!"; } }