public DirectTrackingDetailsBuilder(string partnerId, string currency, string transactionId) { _directTrackingDetails = new DirectTrackingDetails { PartnerId = partnerId, Currency = currency, TransactionId = transactionId }; }
public Uri GenerateServerUrl(string key, DirectTrackingDetails directTrackingDetails) => new Uri(new StringBuilder() .AppendTrackingParameters(directTrackingDetails) .AppendSignature(key) .AppendTestParameter(generateTestUris) .Insert(0, TrackingUrl) .ToString());
public Uri GenerateScriptUrl(DirectTrackingDetails directTrackingDetails) => new Uri(new StringBuilder() .AppendTrackingParameters(directTrackingDetails) .AppendTestParameter(generateTestUris) .Insert(0, TrackingScriptUrl) .ToString());
public static StringBuilder AppendTrackingParameters(this StringBuilder builder, DirectTrackingDetails directTrackingDetails) { builder .Append("?PartnerId=") .Append(HttpUtility.UrlEncode(directTrackingDetails.PartnerId)) .Append("&TransactionId=") .Append(HttpUtility.UrlEncode(directTrackingDetails.TransactionId)) .Append("&Currency=") .Append(HttpUtility.UrlEncode(directTrackingDetails.Currency)); if (!string.IsNullOrEmpty(directTrackingDetails.MemberId)) { builder.Append("&MemberId=").AppendFormat("{0:0.00}", directTrackingDetails.MemberId); } if (!string.IsNullOrEmpty(directTrackingDetails.Code)) { builder.Append("&Code=").Append(HttpUtility.UrlEncode(directTrackingDetails.Code)); } if (directTrackingDetails.OrderTotal.HasValue) { builder.Append("&OrderTotal=").AppendFormat("{0:0.00}", directTrackingDetails.OrderTotal.Value); } if (directTrackingDetails.ItemsUNiDAYSDiscount.HasValue) { builder.Append("&ItemsUNiDAYSDiscount=").AppendFormat("{0:0.00}", directTrackingDetails.ItemsUNiDAYSDiscount.Value); } if (directTrackingDetails.ItemsTax.HasValue) { builder.Append("&ItemsTax=").AppendFormat("{0:0.00}", directTrackingDetails.ItemsTax.Value); } if (directTrackingDetails.ShippingGross.HasValue) { builder.Append("&ShippingGross=").AppendFormat("{0:0.00}", directTrackingDetails.ShippingGross.Value); } if (directTrackingDetails.ShippingDiscount.HasValue) { builder.Append("&ShippingDiscount=").AppendFormat("{0:0.00}", directTrackingDetails.ShippingDiscount.Value); } if (directTrackingDetails.ItemsGross.HasValue) { builder.Append("&ItemsGross=").AppendFormat("{0:0.00}", directTrackingDetails.ItemsGross.Value); } if (directTrackingDetails.ItemsOtherDiscount.HasValue) { builder.Append("&ItemsOtherDiscount=").AppendFormat("{0:0.00}", directTrackingDetails.ItemsOtherDiscount.Value); } if (directTrackingDetails.UNiDAYSDiscountPercentage.HasValue) { builder.Append("&UNiDAYSDiscountPercentage=").AppendFormat("{0:0.00}", directTrackingDetails.UNiDAYSDiscountPercentage.Value); } if (directTrackingDetails.NewCustomer.HasValue) { builder.Append("&NewCustomer=").AppendFormat("{0}", directTrackingDetails.NewCustomer); } return(builder); }