public virtual void Patch(ItemEntity target) { if (target == null) { throw new ArgumentNullException(nameof(target)); } target.IsBuyable = this.IsBuyable; target.IsActive = this.IsActive; target.TrackInventory = this.TrackInventory; target.MinQuantity = this.MinQuantity; target.MaxQuantity = this.MaxQuantity; target.EnableReview = this.EnableReview; target.CatalogId = this.CatalogId; target.CategoryId = this.CategoryId; target.Name = this.Name; target.Code = this.Code; target.ManufacturerPartNumber = this.ManufacturerPartNumber; target.Gtin = this.Gtin; target.ProductType = this.ProductType; target.MaxNumberOfDownload = this.MaxNumberOfDownload; target.DownloadType = this.DownloadType; target.HasUserAgreement = this.HasUserAgreement; target.DownloadExpiration = this.DownloadExpiration; target.Vendor = this.Vendor; target.TaxType = this.TaxType; target.WeightUnit = this.WeightUnit; target.Weight = this.Weight; target.MeasureUnit = this.MeasureUnit; target.PackageType = this.PackageType; target.Height = this.Height; target.Length = this.Length; target.Width = this.Width; target.ShippingType = this.ShippingType; target.Priority = this.Priority; target.ParentId = this.ParentId; #region Assets if (!this.Assets.IsNullCollection()) { this.Assets.Patch(target.Assets, (sourceAsset, targetAsset) => sourceAsset.Patch(targetAsset)); } #endregion #region Images if (!this.Images.IsNullCollection()) { this.Images.Patch(target.Images, (sourceImage, targetImage) => sourceImage.Patch(targetImage)); } #endregion #region ItemPropertyValues if (!this.ItemPropertyValues.IsNullCollection()) { this.ItemPropertyValues.Patch(target.ItemPropertyValues, (sourcePropValue, targetPropValue) => sourcePropValue.Patch(targetPropValue)); } #endregion #region Links if (!this.CategoryLinks.IsNullCollection()) { this.CategoryLinks.Patch(target.CategoryLinks, new CategoryItemRelationComparer(), (sourcePropValue, targetPropValue) => sourcePropValue.Patch(targetPropValue)); } #endregion #region EditorialReviews if (!this.EditorialReviews.IsNullCollection()) { this.EditorialReviews.Patch(target.EditorialReviews, (sourcePropValue, targetPropValue) => sourcePropValue.Patch(targetPropValue)); } #endregion #region Association if (!this.Associations.IsNullCollection()) { var associationComparer = AnonymousComparer.Create((AssociationEntity x) => x.AssociationType + ":" + x.AssociatedItemId + ":" + x.AssociatedCategoryId); this.Associations.Patch(target.Associations, associationComparer, (sourceAssociation, targetAssociation) => sourceAssociation.Patch(targetAssociation)); } #endregion }
public virtual void Patch(ItemEntity target) { if (target == null) { throw new ArgumentNullException(nameof(target)); } target.IsBuyable = IsBuyable; target.IsActive = IsActive; target.TrackInventory = TrackInventory; target.MinQuantity = MinQuantity; target.MaxQuantity = MaxQuantity; target.EnableReview = EnableReview; target.CatalogId = CatalogId; target.CategoryId = CategoryId; target.Name = Name; target.Code = Code; target.ManufacturerPartNumber = ManufacturerPartNumber; target.Gtin = Gtin; target.ProductType = ProductType; target.MaxNumberOfDownload = MaxNumberOfDownload; target.DownloadType = DownloadType; target.HasUserAgreement = HasUserAgreement; target.DownloadExpiration = DownloadExpiration; target.Vendor = Vendor; target.TaxType = TaxType; target.WeightUnit = WeightUnit; target.Weight = Weight; target.MeasureUnit = MeasureUnit; target.PackageType = PackageType; target.Height = Height; target.Length = Length; target.Width = Width; target.ShippingType = ShippingType; target.Priority = Priority; target.ParentId = ParentId; target.StartDate = StartDate; target.EndDate = EndDate; #region Assets if (!Assets.IsNullCollection()) { Assets.Patch(target.Assets, (sourceAsset, targetAsset) => sourceAsset.Patch(targetAsset)); } #endregion #region Images if (!Images.IsNullCollection()) { Images.Patch(target.Images, (sourceImage, targetImage) => sourceImage.Patch(targetImage)); } #endregion #region ItemPropertyValues if (!ItemPropertyValues.IsNullCollection()) { ItemPropertyValues.Patch(target.ItemPropertyValues, (sourcePropValue, targetPropValue) => sourcePropValue.Patch(targetPropValue)); } #endregion #region Links if (!CategoryLinks.IsNullCollection()) { var categoryItemRelationComparer = AnonymousComparer.Create((CategoryItemRelationEntity x) => string.Join(":", x.CatalogId, x.CategoryId)); CategoryLinks.Patch(target.CategoryLinks, categoryItemRelationComparer, (sourcePropValue, targetPropValue) => sourcePropValue.Patch(targetPropValue)); } #endregion #region EditorialReviews if (!EditorialReviews.IsNullCollection()) { EditorialReviews.Patch(target.EditorialReviews, (sourcePropValue, targetPropValue) => sourcePropValue.Patch(targetPropValue)); } #endregion #region Association if (!Associations.IsNullCollection()) { var associationComparer = AnonymousComparer.Create((AssociationEntity x) => x.AssociationType + ":" + x.AssociatedItemId + ":" + x.AssociatedCategoryId); Associations.Patch(target.Associations, associationComparer, (sourceAssociation, targetAssociation) => sourceAssociation.Patch(targetAssociation)); } #endregion }