protected new void TranslateEvent(PageEventData pageEventData, VisitorOrderCreatedGoal @event) { @event.ExternalId = pageEventData.CustomValues["ExternalId"] as string; @event.ShopName = pageEventData.CustomValues["ShopName"] as string; @event.SitecoreUserName = pageEventData.CustomValues["UserName"] as string; @event.SitecoreCustomerName = pageEventData.CustomValues["Name"] as string; string str = JsonConvert.SerializeObject((object)(pageEventData.CustomValues["Total"] as global::Sitecore.Commerce.Entities.Prices.Total)); @event.Total = JsonConvert.DeserializeObject <global::Sitecore.Commerce.CustomModels.Models.Total>(str); @event.IsOfflineOrder = pageEventData.CustomValues["Total"] as bool?; if (!pageEventData.CustomValues.ContainsKey("Order")) { return; } global::Sitecore.Commerce.Entities.Orders.Order customValue = (global::Sitecore.Commerce.Entities.Orders.Order)pageEventData.CustomValues["Order"]; global::Sitecore.Commerce.CustomModels.Models.Order order = JsonConvert.DeserializeObject <global::Sitecore.Commerce.CustomModels.Models.Order>(JsonConvert.SerializeObject((object)customValue)); if (order == null) { return; } order.CartLines = global::Sitecore.Commerce.Entities.Carts.CartLine.ToPocoLines(customValue.Lines); var personalizationIds = pageEventData.CustomValues["PersonalizationIds"] as Dictionary <string, string>; foreach (var line in order.CartLines) { if (personalizationIds.ContainsKey(line.ExternalCartLineId)) { @event.CustomValues.Add($"PersonalizationId|{line.ExternalCartLineId}", personalizationIds[line.ExternalCartLineId]); } } @event.Order = order; }
public override void Initialize(global::Sitecore.Commerce.Entities.Orders.Order order) { this.ServicePipelineArgs = null; this.Order = order; this.ExternalId = this.Order.ExternalId; this.ShopName = this.Order.ShopName; this.Total = this.Order.Total.ToBaseType <global::Sitecore.Commerce.Entities.Prices.Total>(); this.IsOfflineOrder = this.Order.IsOfflineOrder; foreach (var line in this.Order.Lines) { if (line.GetProperties().ContainsKey("PersonalizationId")) { this.PersonalizationIds.Add(line.ExternalCartLineId, line.GetPropertyValue("PersonalizationId").ToString()); } } }