private ICatalogItemContext CreateEmptyCatalogContext() { if (CatalogManager.CatalogContext == null) { return(null); } var data = new CatalogRouteData { Catalog = CatalogManager.CatalogContext.CurrentCatalog.Name }; return(data); }
private ICatalogItemContext CreateCatalogContextFromCatalogItemRoute(RouteData routeData, CatalogItemType itemType, Database database) { var data = new CatalogRouteData { ItemType = itemType }; if (routeData.Values.ContainsKey("id")) { data.Id = CatalogUrlRepository.ExtractItemId(routeData.Values["id"].ToString()); } if (string.IsNullOrWhiteSpace(data.Id)) { return(null); } if (routeData.Values.ContainsKey("catalog")) { data.Catalog = routeData.Values["catalog"].ToString(); } if (string.IsNullOrEmpty(data.Catalog)) { data.Catalog = CatalogManager.CatalogContext?.CurrentCatalog?.Name; } if (string.IsNullOrEmpty(data.Catalog)) { return(null); } var item = GetCatalogItem(data, database); if (item == null) { return(null); } data.Item = item; if (routeData.Values.ContainsKey("category")) { data.CategoryId = CatalogUrlRepository.ExtractItemId(routeData.Values["category"].ToString()); } if (string.IsNullOrEmpty(data.CategoryId)) { data.CategoryId = GetCategoryIdFromItem(data.Item); } return(data); }
private ICatalogItemContext Create(Item productCatalogItem) { Assert.IsNotNull(productCatalogItem, nameof(productCatalogItem)); Assert.ArgumentCondition(productCatalogItem.IsDerived(Foundation.Commerce.Templates.Commerce.CatalogItem.Id), nameof(productCatalogItem), "Item must be of type Commerce Catalog Item"); var data = new CatalogRouteData { ItemType = productCatalogItem.IsDerived(Foundation.Commerce.Templates.Commerce.Product.Id) ? CatalogItemType.Product : CatalogItemType.Category, Id = productCatalogItem.Name.ToLowerInvariant(), Item = productCatalogItem, Catalog = productCatalogItem[Foundation.Commerce.Templates.Commerce.CatalogItem.Fields.CatalogName], CategoryId = GetCategoryIdFromItem(productCatalogItem) }; return(data); }
public void SensorFor_Noaa16ToIss() { var sensorForRequest = new SensorForAccessData <IVerifiable>() { Start = new DateTime(2014, 2, 20, 0, 0, 0, DateTimeKind.Utc), Stop = new DateTime(2014, 2, 21, 0, 0, 0, DateTimeKind.Utc) }; var toObjectPath = new Sgp4RouteData() { Start = new DateTime(2014, 2, 20, 0, 0, 0, DateTimeKind.Utc), Stop = new DateTime(2014, 2, 21, 0, 0, 0, DateTimeKind.Utc), SSC = 25544, OutputSettings = { Step = 2, TimeFormat = TimeRepresentation.UTC, CoordinateFormat = { Coord = CoordinateRepresentation.LLA } } }; var fromObjectCatalogPath = new CatalogRouteData() { Start = new DateTime(2014, 2, 20, 0, 0, 0, DateTimeKind.Utc), Stop = new DateTime(2014, 2, 21, 0, 0, 0, DateTimeKind.Utc), URI = "https://sdf10.agi.com/SocSearch/catalogs/spacecraft/items/bald7veoYUqyISdiy-KK6w/definition", OutputSettings = { Step = 2, TimeFormat = TimeRepresentation.UTC, CoordinateFormat = { Coord = CoordinateRepresentation.LLA } } }; sensorForRequest.FromObjectCatalogPath = fromObjectCatalogPath; sensorForRequest.ToObjectPath = toObjectPath; sensorForRequest.SensorNameContains = "Noaa19_Avhrr3"; sensorForRequest.Sunlit = false; sensorForRequest.IncludePath = false; sensorForRequest.Verify(); // call the service //var forAccessResults = AccessServices.GetSensorForAccess<>(sensorForRequest).Result; //Assert.That(forAccessResults..); }
/// <summary> /// This method returns the Route data value /// </summary> /// <param name="routeData">The route</param> /// <returns>The value if found, empty string if route is found but not value, null if route invalid</returns> public virtual CatalogRouteData GetRouteDataValue(RouteData routeData) { var data = new CatalogRouteData(); if (routeData.Values.ContainsKey(ItemTypeField)) { data.IsProduct = routeData.Values[ItemTypeField].ToString() == ProductItemType ? true : false; } else { return(null); } if (routeData.Values.ContainsKey(IdField)) { data.Id = CatalogUrlManager.ExtractItemId(routeData.Values[IdField].ToString()); } else { return(null); } if (routeData.Values.ContainsKey(CatalogField)) { data.Catalog = routeData.Values[CatalogField].ToString(); } if (string.IsNullOrEmpty(data.Catalog)) { var defaultCatalog = StorefrontManager.CurrentStorefront.DefaultCatalog; if (defaultCatalog != null) { data.Catalog = defaultCatalog.Name; } } return(data); }
/// <summary> /// This method returns the Route data value /// </summary> /// <param name="routeData">The route</param> /// <returns>The value if found, empty string if route is found but not value, null if route invalid</returns> public virtual CatalogRouteData GetRouteDataValue(RouteData routeData) { var data = new CatalogRouteData(); if (routeData.Values.ContainsKey(ItemTypeField)) { if (routeData.Values[ItemTypeField].ToString() == CatalogItemType) { var currentStorefront = StorefrontManager.CurrentStorefront; Item productCatalogItem = currentStorefront.HomeItem.Axes.GetDescendant(NavigationItemName + "/" + routeData.Values["pathElements"].ToString()); if (productCatalogItem != null) { data.IsProduct = (productCatalogItem.ItemType() == StorefrontConstants.ItemTypes.Product); data.Id = productCatalogItem.Name; } } else { data.IsProduct = routeData.Values[ItemTypeField].ToString() == ProductItemType ? true : false; } } else { return(null); } if (routeData.Values.ContainsKey(IdField)) { data.Id = CatalogUrlManager.ExtractItemId(routeData.Values[IdField].ToString()); } else { if (string.IsNullOrWhiteSpace(data.Id)) { return(null); } } if (routeData.Values.ContainsKey(CatalogField)) { data.Catalog = routeData.Values[CatalogField].ToString(); } if (string.IsNullOrEmpty(data.Catalog)) { var defaultCatalog = StorefrontManager.CurrentStorefront.DefaultCatalog; if (defaultCatalog != null) { data.Catalog = defaultCatalog.Name; } } if (routeData.Values.ContainsKey(CategoryField)) { var siteContext = CommerceTypeLoader.CreateInstance <ISiteContext>(); siteContext.UrlContainsCategory = true; } return(data); }