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; }
protected override Event CreateEvent(PageEventData pageEventData) { VisitorOrderCreatedGoal @event = new VisitorOrderCreatedGoal(pageEventData.DateTime); this.TranslateEvent(pageEventData, @event); return(@event); }