Exemple #1
0
        private ICatalogItemContext CreateEmptyCatalogContext()
        {
            if (CatalogManager.CatalogContext == null)
            {
                return(null);
            }

            var data = new CatalogRouteData
            {
                Catalog = CatalogManager.CatalogContext.CurrentCatalog.Name
            };

            return(data);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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..);
        }
Exemple #5
0
        /// <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);
        }
Exemple #6
0
        /// <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);
        }