private static void MataInReaStart(Produkt produkt) { DateTime reaStart; while (true) { Console.Write("Mata in startdatum för rea i detta format (ÅÅÅÅ-MM-DD): "); if (DateTime.TryParse(Console.ReadLine(), out reaStart)) { produkt.SättReaStart(reaStart); break; } Console.WriteLine("Ogiltig input! Mata in datum enligt format!"); } }
public Produkt(Produkt produkt) { ID = produkt.ID; Namn = produkt.Namn; Antal = produkt.Antal; MaxAntal = produkt.MaxAntal; PrisTyp = produkt.PrisTyp; TotalPris = produkt.TotalPris; OrginalPris = produkt.OrginalPris; ReaPris = produkt.ReaPris; Rea = produkt.Rea; ReaStart = produkt.ReaStart; ReaSlut = produkt.ReaSlut; KollaOmRea(); }
private static void MataInReaSlut(Produkt produkt) { DateTime reaSlut; while (true) { Console.Write("Mata in slutdatum för rea i detta format (ÅÅÅÅ-MM-DD): "); if (DateTime.TryParse(Console.ReadLine(), out reaSlut)) { if (reaSlut < produkt.ReaStart) { Console.WriteLine("Slutdatumet för rea kan inte vara före startdatum!"); continue; } produkt.SättReaSlut(reaSlut); break; } Console.WriteLine("Ogiltig input! Mata in datum enligt format!"); } }
private static void MataInMaxAntal(Produkt produkt) { int maxAntal; while (true) { Console.Write("Mata in begränsad antal per kund (0 ifall ingen begränsning): "); if (!int.TryParse(Console.ReadLine(), out maxAntal)) { Console.WriteLine("Ogiltig inmatning! Mata in en siffra!"); continue; } else if (maxAntal < 0) { Console.WriteLine("Begränsat antal kan ej vara mindre än 0!"); continue; } produkt.SättMaxAntal(maxAntal); break; } }
public void TaBortProdukt(Produkt produkt) { Produkter.Remove(produkt); }
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!"; } }