public override void HandleRequest()
 {
     if (RequestObj.RequestStatus != Constants.SuccesssMessage)
     {
         Console.WriteLine("Membership Payment process checking...\n");
         Thread.Sleep(1000);
         if (RequestObj.PaymentType == Constants.MembershipPayment)
         {
             //TO DO - Activate membership
             RequestObj.RequestMessages.Add("Activate membership");
             RequestObj.RequestStatus = Constants.SuccesssMessage;
         }
         else
         {
             RequestObj.RequestStatus = Constants.FailureMessage;
         }
     }
     NextPaymentType.HandleRequest();
 }
 public override void HandleRequest()
 {
     if (RequestObj.RequestStatus != Constants.SuccesssMessage)
     {
         Console.WriteLine("Physical Product Payment process checking...\n");
         Thread.Sleep(1000);
         if (RequestObj.PaymentType == Constants.PhysicalProductPayment)
         {
             //TO DO - Genererated a packaging slip for shipping
             RequestObj.RequestMessages.Add("Genererated a packaging slip for shipping");
             RequestObj.RequestStatus = Constants.SuccesssMessage;
         }
         else
         {
             RequestObj.RequestStatus = Constants.FailureMessage;
         }
     }
     NextPaymentType.HandleRequest();
 }
 public override void HandleRequest()
 {
     if (RequestObj.RequestStatus != Constants.SuccesssMessage)
     {
         Console.WriteLine("Book  Payment process checking...\n");
         Thread.Sleep(1000);
         if (RequestObj.PaymentType == Constants.BookPayment)
         {
             //TO DO - Create duplicate packaging slip for shipping royality department
             RequestObj.RequestMessages.Add("Created duplicate packaging slip for shipping royality department");
             RequestObj.RequestStatus = Constants.SuccesssMessage;
         }
         else
         {
             RequestObj.RequestStatus = Constants.FailureMessage;
         }
     }
     NextPaymentType.HandleRequest();
 }
 public override void HandleRequest()
 {
     if (RequestObj.RequestStatus != Constants.SuccesssMessage)
     {
         Console.WriteLine("Upgrade To Membrship Payment process checking...\n");
         Thread.Sleep(1000);
         if (RequestObj.PaymentType == Constants.UpgradeToMembershipPayment)
         {
             //TO DO - Apply Upgare and send email
             RequestObj.RequestMessages.Add("Membership upgraded and email send");
             RequestObj.RequestStatus = Constants.SuccesssMessage;
         }
         else
         {
             RequestObj.RequestStatus = Constants.FailureMessage;
         }
     }
     NextPaymentType.HandleRequest();
 }