Example #1
0
        static void Main(string[] args)
        {
            CosmeticsService cs = new CosmeticsService();
            string           selector;

            do
            {
                Console.WriteLine("" +
                                  "[1] - Find cosmetics by service type\n" +
                                  "[2] - Add cosmetic\n" +
                                  "[3] - View all cosmetics\n" +
                                  "[4] - View cosmetics to order\n" +
                                  "[E]xit");
                Console.Write("Enter your choise: ");
                selector = Console.ReadLine();
                switch (selector)
                {
                case "1":
                    FindCosmeticByServiceType(cs.GetAllCosmetics());
                    break;

                case "2":
                    cs.AddCosmetic(FillCosmetic());
                    break;

                case "3":
                    ShowAllCosmetics(cs.GetAllCosmetics());
                    break;

                case "4":
                    ViewCosmeticsToOrder(cs.GetAllCosmetics());
                    break;

                case "E":
                case "e":
                    Console.WriteLine("Closing...");
                    return;

                default:
                    Console.WriteLine("You`ve chosen wrong menu type!");
                    break;
                }
            } while (true);
        }
        public List <Cosmetic> GetCosmeticsToOrder()
        {
            List <Cosmetic> cosmeticsToOrder = new List <Cosmetic>();
            int             minCount         = 5;

            foreach (var item in cs.GetAllCosmetics())
            {
                if (item.Count < minCount)
                {
                    cosmeticsToOrder.Add(item);
                }
                else if (item is CosmeticWithExpireDate)
                {
                    if (DateTime.Now.Add(item.ReceiveTime) > (item as CosmeticWithExpireDate).ExpireDate)
                    {
                        cosmeticsToOrder.Add(item);
                    }
                }
            }
            return(cosmeticsToOrder);
        }