Exemple #1
0
        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);
            }
        }