public void GeneratePackingSlipForRoyaltyAndCommissionPayment_Test()
        {
            PaymentDetailsDto paymentDetailsDto = new PaymentDetailsDto();

            paymentDetailsDto.ProductType = ProductEnum.PhysicalProduct;
            paymentDetailsDto.ProductDto  = new ProductDto
            {
                Price     = 1200,
                ProductId = 1
            };
            paymentDetailsDto.AgentDto = new AgentDto
            {
                AgentId   = 200,
                AgentName = "John Miller"
            };

            IAction packingSlip       = new PackingSlipForRoyalty(paymentDetailsDto);
            string  packingSlipResult = packingSlip.DoProcess();

            Assert.IsNotNull(packingSlipResult);

            IAction commissionPayment       = new CommissionPayment(paymentDetailsDto);
            string  commissionPaymentResult = commissionPayment.DoProcess();

            Assert.IsNotNull(commissionPaymentResult);
        }
        public void RuleNotMatch()
        {
            var phyproduct = new CommissionPayment();
            var result     = phyproduct.Handle("Failure");

            // Assert
            Assert.AreNotEqual("Generate a commission payment to the agent", result);
        }
        public void ValidateRules()
        {
            var comptm = new CommissionPayment();
            var result = comptm.Handle("commission");

            // Assert
            Assert.AreEqual("Generate a commission payment to the agent", result);
        }
Example #4
0
        /// <summary>
        /// Pass the request to handler according to Payment Type
        /// </summary>
        private static void RuleHandler()
        {
            AbstractHandler abstractHandler = null;
            var             email           = new SendEmail();
            var             compayment      = new CommissionPayment();

            var ctx = new Context()
            {
                PaymentType = ReadInputRequest()
            };
            var handler = ctx.PaymentType;

            switch (handler)
            {
            case "PhysicalProduct":
                abstractHandler = new PhysicalProduct();
                abstractHandler.SetNext(compayment);
                break;

            case "ProductBook":
                abstractHandler = new ProdcutBook();
                abstractHandler.SetNext(compayment);
                break;

            case "Membership":
                abstractHandler = new Membership();
                abstractHandler.SetNext(email);
                break;

            case "UpgradeMembership":
                abstractHandler = new UpgradeMembership();
                abstractHandler.SetNext(email);
                break;

            case "Video":
                abstractHandler = new Video();
                break;

            default:
                break;
            }

            RuleEngOrchestrator.ClientCode(abstractHandler);
            Console.WriteLine();
        }
Example #5
0
 public ActionResult SaveEmployerRecord(CommissionPayment _commissionPayment)
 {
     try
     {
         if (_commissionPayment.CommissionPaymentID == 0)
         {
             _icommission.AddCommissionPaymentRecord(Mapper.Map <LMGEDI.Core.Data.Model.CommissionPayment>(_commissionPayment));
             return(Json(GlobalConst.alertMessages.SaveMessage, GlobalConst.ContentTypes.TextHtml));
         }
         else
         {
             _icommission.UpdateCommissionPaymentRecord(Mapper.Map <LMGEDI.Core.Data.Model.CommissionPayment>(_commissionPayment));
             return(Json(GlobalConst.alertMessages.SaveMessage, GlobalConst.ContentTypes.TextHtml));
         }
     }
     catch (Exception e)
     {
         return(Json(""));
     }
 }
        public void GenerateCommissionPaymentToAgent_Test()
        {
            PaymentDetailsDto paymentDetailsDto = new PaymentDetailsDto();

            paymentDetailsDto.ProductType = ProductEnum.PhysicalProduct;
            paymentDetailsDto.ProductDto  = new ProductDto
            {
                Price     = 1200,
                ProductId = 1
            };
            paymentDetailsDto.AgentDto = new AgentDto
            {
                AgentId   = 200,
                AgentName = "John Miller"
            };

            IAction commissionPayment = new CommissionPayment(paymentDetailsDto);
            string  result            = commissionPayment.DoProcess();

            Assert.IsNotNull(result);
        }
 public override void CreateEntity()
 {
     this.commissionPayment = new CommissionPayment();
 }
        public override bool LoadEntity(int serviceId)
        {
            this.commissionPayment = this.srvCommissionPayment.GetById(serviceId);

            return(this.commissionPayment != null);
        }