예제 #1
0
        public static string ToText(this ProductVisibility value)
        {
            switch (value)
            {
            case ProductVisibility.Discontinued:
                return("Discontinued");

            case ProductVisibility.Offline:
                return("Offline");

            case ProductVisibility.Online:
                return("Online");

            default:
                return("Online");
            }
        }
예제 #2
0
        public static async Task <IDisposableEntity <Product> > CreateProductAsync(
            this TestServiceScope scope,
            EventInfo eventInfo,
            string name                  = TestingConstants.Placeholder,
            string description           = TestingConstants.Placeholder,
            int price                    = 100,
            int vatPercent               = 5,
            int minimumQuantity          = 1,
            bool archived                = false,
            bool published               = true,
            ProductVisibility visibility = ProductVisibility.Event,
            ProductVariant[] variants    = null)
        {
            if (name == TestingConstants.Placeholder)
            {
                name = $"Test Product {Guid.NewGuid()}";
            }

            if (description == TestingConstants.Placeholder)
            {
                description = $"Test Product Description {Guid.NewGuid()}";
            }

            var product = new Product
            {
                Name            = name,
                Description     = description,
                EventInfo       = eventInfo,
                Price           = price,
                VatPercent      = vatPercent,
                MinimumQuantity = minimumQuantity,
                ProductVariants = variants?.ToList(),
                Archived        = archived,
                Published       = published,
                Visibility      = visibility
            };

            await scope.Db.Products.AddAsync(product);

            await scope.Db.SaveChangesAsync();

            return(new DisposableEntity <Product>(product, scope.Db));
        }
예제 #3
0
 public CatalogSearchQuery WithVisibility(ProductVisibility value)
 {
     return(WithFilter(SearchFilter.ByField("visibility", (int)value).Mandatory().ExactMatch().NotAnalyzed()));
 }