Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

What should we use instead of Entry

Vote:
0

Hi

Since Entry is not cached by episerver commerce what should we use instead to create a  CatalogKey = new CatalogKey(catalogEntry),  ? 

Found this example but it is using Entry.. 

public IPriceDetailValue SavePriceDetailValue(Entry catalogEntry)
{
    var priceDetailService = ServiceLocator.Current.GetInstance();
 
    // Set Price Detail value for Catalog Entry.
    var priceDetailValue = new PriceDetailValue
    {
        CatalogKey = new CatalogKey(catalogEntry),
        MarketId = new MarketId("US"),
        CustomerPricing = CustomerPricing.AllCustomers,
        ValidFrom = DateTime.UtcNow.AddDays(-7),
        ValidUntil = DateTime.UtcNow.AddDays(7),
        MinQuantity = 0m,
        UnitPrice = new Money(100m, Currency.USD)
    };
 
    return priceDetailService.Save(priceDetailValue);
}


regards
Pawel
#145099
Feb 24, 2016 18:05
Vote:
0

this is the example: 

public IPriceDetailValue SavePriceDetailValue(Entry catalogEntry)
{
var priceDetailService = ServiceLocator.Current.GetInstance<IPriceDetailService>();

// Set Price Detail value for Catalog Entry.
var priceDetailValue = new PriceDetailValue
{
CatalogKey = new CatalogKey(catalogEntry),
MarketId = new MarketId("US"),
CustomerPricing = CustomerPricing.AllCustomers,
ValidFrom = DateTime.UtcNow.AddDays(-7),
ValidUntil = DateTime.UtcNow.AddDays(7),
MinQuantity = 0m,
UnitPrice = new Money(100m, Currency.USD)
};

return priceDetailService.Save(priceDetailValue);
}

#145100
Feb 24, 2016 18:13
Vote:
0

Hi,

I'm not sure I get your question, but you can simply create a CatalogKey by this:

var catalogKey = new CatalogKey(AppContext.Current.ApplicationId, entryCode);

Regards,

/Q

#145103
Feb 24, 2016 23:09
Vote:
0

Ok, My question would be, can i create catalogkey baser on currentcontent without having to get Entry?

#145107
Feb 25, 2016 8:20
Vote:
0

If you have an EntryContentBase (ProductContent, VariationContent or their derivatives), you can do something like this:

var catalogKey = new CatalogKey(content.ApplicationId, content.Code);

/Q

#145112
Feb 25, 2016 10:50
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.