Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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; }
                }
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
        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;
                            }
                        }
                    }
                }
            }
        }