private async Task MapProductVariantImageFromVm(ProductVariationVm variationVm, Product product) { if (variationVm.ThumbnailImage != null) { var thumbnailImageFileName = await SaveFile(variationVm.ThumbnailImage); if (product.ThumbnailImage != null) { product.ThumbnailImage.FileName = thumbnailImageFileName; } else { product.ThumbnailImage = new Media { FileName = thumbnailImageFileName }; } } foreach (var image in variationVm.NewImages) { var fileName = await SaveFile(image); var productMedia = new ProductMedia { Product = product, Media = new Media { FileName = fileName, MediaType = MediaType.Image } }; product.AddMedia(productMedia); } }
private static void GenerateDates(Product linkedProduct, Product product, ProductVariationVm variation) { var date = variation.OptionCombinations.FirstOrDefault(o => o.OptionName == "Departure Date"); if (date != null) { linkedProduct.SpecialPriceStart = Convert.ToDateTime(date.Value) .AddHours(product.SpecialPriceStart.Value.Hour) .AddMinutes(product.SpecialPriceStart.Value.Minute); linkedProduct.SpecialPriceEnd = Convert.ToDateTime(date.Value) .AddHours(product.SpecialPriceEnd.Value.Hour) .AddMinutes(product.SpecialPriceEnd.Value.Minute); } }