public void VerfiyParsingAndProcessing()
        {
            var productproces = new ProcessProduct();
            var result        = productproces.Process("LearningToSkiVideo");

            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result.Contains(TypeOfActionAgainstOrder.AddFreeAidVideoToPackagingSlip));
        }
示例#2
0
        private static void ProcessOrder(string rule)
        {
            Console.WriteLine($"Order Process Successfully For {rule}");
            var processProduct = new ProcessProduct();
            var actions        = processProduct.Process(rule);

            OrderProcessResult(actions);
        }
        static void RunRuleAndGenerateActions(string product)
        {
            var productproces = new ProcessProduct();
            var actions       = productproces.Process(product);

            Console.WriteLine($"For product {product} below actions were taken -");

            foreach (var action in actions)
            {
                switch (action)
                {
                case TypeOfActionAgainstOrder.ActivateMembership:
                    Console.WriteLine("Activating the membership");
                    break;

                case TypeOfActionAgainstOrder.AddFreeAidVideoToPackagingSlip:
                    Console.WriteLine("Adding free “First Aid” video to the packing slip ");
                    break;


                case TypeOfActionAgainstOrder.DuplicatePackaingSlip:
                    Console.WriteLine("Creating a duplicate packing slip for the royalty department.");
                    break;

                case TypeOfActionAgainstOrder.GenerateCommission:
                    Console.WriteLine("Generating a commission payment to the agent.");
                    break;

                case TypeOfActionAgainstOrder.GeneratePackagingSlip:
                    Console.WriteLine("Generating a packing slip for shipping.");
                    break;

                case TypeOfActionAgainstOrder.SendEmail:
                    Console.WriteLine("Sending email for activation/upgrade.");
                    break;

                case TypeOfActionAgainstOrder.UpgradeMembership:
                    Console.WriteLine("Upgrading the membership.");
                    break;
                }
            }
            Console.WriteLine(Environment.NewLine);
        }