London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!
AI OnAI Off
London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!
CommerceMediaCollection.Add is only an add, it doesn't do update.
You have to remove the old commerce media with the same filename from the collection before adding the update one.
Of course that would only detach the image from the variant, most likely you would want to remove the old image also.
Trying to add images to variants.
The code looks like this:
var parentLink = ReferenceConverter.Service.GetContentLink(parentCode); F parent = ContentRepository.Service.TryGet(parentLink.ToReferenceWithoutVersion(), _catalogService.Culture, out parent) ? parent.CreateWritableClone<F>() : ContentRepository.Service.GetDefault<F>(parentLink, _catalogService.Culture); parent.CommerceMediaCollection.Add(commerceMedia); ContentRepository.Service.Save(parent, SaveAction.Publish, AccessLevel.NoAccess);
This works well the first time, but if the import should handle a change for this article again at a later date, the code will crash.
error message:
"Violation of PRIMARY KEY constraint 'PK_ecfVersionAsset'. Cannot insert duplicate key in object 'dbo.ecfVersionAsset'. The duplicate key value is (8078274, image.jpg, a910104b-a4ee-44e8-8cd3-33950f19d9ae)." has been terminated. "
Any suggestions on what's wrong, how to get on?