Exemple #1
0
        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;
            }
        }
Exemple #2
0
 public Kvitto()
 {
     Produkter = new List <Produkt>();
     Datum     = DateTime.Now;
     Path      = $@"..\..\RECIEPT_{Datum.ToString("yyyyMMdd")}.txt";
     Nummer    = IOFunktioner.HämtaKvittoNummer(Path);
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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;
            }
        }
Exemple #5
0
        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!");
                }
            }
        }
Exemple #6
0
 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!";
            }
        }