public static void UpdateMembership(out RuleBase _rule, out int level, out PaymentOrderType selectedPaymentoption)
        {
            _rule = new RuleBase();
            selectedPaymentoption = PaymentOrderType.UpdateMembership;
            Console.WriteLine("Please provide the memberid for upgradation");
            level = 0;

            string Id = Console.ReadLine();

            //check if member exists
            if (Id == "" || Id == null)
            {
                Console.WriteLine("Provide the correct member id");
            }
            else
            {
                Membership member = new Membership();


                Console.WriteLine("Provide the membership upgrade level. Starting from 0 to 10 ");
                level = int.Parse(Console.ReadLine());

                member = _rule.GenerateMember(member, level);

                Console.WriteLine("Membership updated successfully. Current level set to {0}", level);
            }
        }
        public static void ActivateMembership(out RuleBase _rule, out PaymentOrderType selectedPaymentoption)
        {
            _rule = new RuleBase();
            selectedPaymentoption = PaymentOrderType.MemberShip;
            Console.WriteLine("Please provide the valid email id for membership");

            string email = Console.ReadLine();

            Membership member = _rule.GenerateMember(email);

            Console.WriteLine("Member with with email {0} activated with id: {1}", email, member.Membershipid);
        }
        private static void Product(out RuleBase _rule, out PaymentOrderType selectedPaymentoption)
        {
            selectedPaymentoption = PaymentOrderType.Product;
            _rule = new RuleBase();
            PackingSlip _slip = _rule.Generatepackingslip("Order No:909");

            Console.WriteLine("Packing slip generated");

            double _agentcommision = _rule.GenerateAgentcommision(500.00);

            Console.WriteLine("agent commision generated for Rs {0}", _agentcommision);
        }
        private static void Books(out RuleBase _rule, out PaymentOrderType selectedPaymentoption)
        {
            _rule = new RuleBase();
            selectedPaymentoption = PaymentOrderType.Books;

            PackingSlip originalpackingslip = _rule.Generatepackingslip("Order:1020");
            PackingSlip royality_dep        = _rule.Generatepackingslip("Order:1020", true);

            Console.WriteLine("Packing slips generated");

            double _agentcommision = _rule.GenerateAgentcommision(500.00);

            Console.WriteLine("agent commision generated for Rs {0}", _agentcommision);
        }
        private static void Video(out RuleBase _rule, out string video, out PaymentOrderType selectedPaymentoption)
        {
            selectedPaymentoption = PaymentOrderType.Video;
            _rule = new RuleBase();
            Console.WriteLine("Provide the name of the video");
            video = Console.ReadLine();

            PackingSlip _slip = _rule.getvideourl(video);

            foreach (var item in _slip.addedservice)
            {
                Console.WriteLine("Access to video provided follow the link:" + item.videourl);
            }
        }