public void Process(ReturnOrder ReturnOrder) { ReturnProcessTemplate returnProcess = ReturnProcessFactory.CreateFrom(ReturnOrder.Action); returnProcess.Process(ReturnOrder); // Code to refund the back to the customer... }
protected override void CalculateRefundFor(ReturnOrder ReturnOrder) { ReturnOrder.AmountToRefund = ReturnOrder.PricePaid + ReturnOrder.PostageCost; }
protected override void GenerateReturnTransactionFor(ReturnOrder ReturnOrder) { // Code to send generate order that sends faulty item back to // manufacturer... }
protected override void GenerateReturnTransactionFor(ReturnOrder ReturnOrder) { // Code to put items back into stock... }
public void Process(ReturnOrder ReturnOrder) { GenerateReturnTransactionFor(ReturnOrder); CalculateRefundFor(ReturnOrder); }
protected abstract void CalculateRefundFor(ReturnOrder ReturnOrder);
protected abstract void GenerateReturnTransactionFor(ReturnOrder ReturnOrder);