public virtual void SetImages(IEnumerable<ProductImage> images)
{
if (images == null)
{
Images.Clear();
}
var newImageList = images.ToList();
foreach (var image in Images.ToList())
{
if (!newImageList.Any(i => i.Id == image.Id))
{
Images.Remove(image);
}
}
foreach (var image in newImageList)
{
var current = Images.FirstOrDefault(i => i.Id == image.Id);
if (current == null)
{
current = new ProductImage
{
Type = image.Type,
ImageUrl = image.ImageUrl
};
Images.Add(current);
}
else
{
current.Type = image.Type;
current.ImageUrl = image.ImageUrl;
}
}
}