Guest User

Untitled

a guest
Feb 11th, 2014
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. [ServiceContract]
  2. PaymentService.svc : IPaymentService
  3. {
  4. [OperationContract(Name = "Void")]
  5. [WebInvoke(Method = "POST", UriTemplate = "/Void")]
  6. SendRequest(VoidRequest request)
  7.  
  8. [OperationContract(Name = "Capture")]
  9. [WebInvoke(Method = "POST", UriTemplate = "/Capture")]
  10. SendRequest(CaptureRequest request)
  11.  
  12. [OperationContract(Name = "Refund")]
  13. [WebInvoke(Method = "POST", UriTemplate = "/Refund")]
  14. SendRequest(RefundRequest request)
  15. }
  16.  
  17. public interface ITransaction
  18. {
  19. string CurrencyCode { get; set; }
  20. }:
  21.  
  22. public interface IPaymentRequest
  23. {
  24. string Token { get; set; }
  25. int ClientID { get; set; }
  26. int PaymentId { get; set; }
  27. }
  28.  
  29. public class VoidRequest : IPaymentRequest
  30. {
  31. public string Token { get; set; }
  32. public int ClientID { get; set; }
  33. public int PaymentId { get; set; }
  34. public VoidTransaction Transaction { get; set; }
  35. }
  36.  
  37. concrete implementations of the request types:
  38.  
  39. public class CaptureRequest : IPaymentRequest
  40. {
  41. public string Token { get; set; }
  42. public int ClientID { get; set; }
  43. public int PaymentId { get; set; }
  44. public CaptureTransaction Transaction { get; set; }
  45. }
  46.  
  47. public class RefundRequest : IPaymentRequest
  48. {
  49. public string Token { get; set; }
  50. public int ClientID { get; set; }
  51. public int PaymentId { get; set; }
  52. public RefundTransaction Transaction { get; set; }
  53. }
  54.  
  55. public interface IPaymentRequest
  56. {
  57. string Token { get; set; }
  58. int ClientID { get; set; }
  59. int PaymentId { get; set; }
  60. ITransaction Transaction { get; set;}
  61. }
Advertisement
Add Comment
Please, Sign In to add comment