Beispiel #1
0
        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!");
            }
        }
Beispiel #2
0
 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();
 }
Beispiel #3
0
        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!");
            }
        }
Beispiel #4
0
        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;
            }
        }
Beispiel #5
0
 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!";
            }
        }