public ProductType Create(CreateProductTypeRequest request) { var type = new ProductType { Name = request.Name, SkuAlias = request.SkuAlias }; var predefinedFields = _customFields.Query().Where(f => f.IsPredefined).ToList(); if (request.CustomFields != null) { foreach (var field in request.CustomFields) { if (field.IsPredefined) { var predefined = predefinedFields.Find(f => f.Id == field.Id); type.CustomFieldDefinitions.Add(predefined); } else { type.CustomFieldDefinitions.Add(field); } } } if (request.VariantFields != null) { foreach (var field in request.VariantFields) { if (field.IsPredefined) { var predefined = predefinedFields.Find(f => f.Id == field.Id); type.VariantFieldDefinitions.Add(predefined); } else { type.VariantFieldDefinitions.Add(field); } } } _productTypes.Insert(type); Event.Raise(new ProductTypeCreated(type), _instance); return type; }
public ProductType Create(CreateProductTypeRequest request) { var type = new ProductType { Name = request.Name, SkuAlias = request.SkuAlias }; var predefinedFields = _customFields.Query().Where(f => f.IsPredefined).ToList(); if (request.CustomFields != null) { foreach (var field in request.CustomFields) { if (field.IsPredefined) { var predefined = predefinedFields.Find(f => f.Id == field.Id); type.CustomFieldDefinitions.Add(predefined); } else { type.CustomFieldDefinitions.Add(field); } } } if (request.VariantFields != null) { foreach (var field in request.VariantFields) { if (field.IsPredefined) { var predefined = predefinedFields.Find(f => f.Id == field.Id); type.VariantFieldDefinitions.Add(predefined); } else { type.VariantFieldDefinitions.Add(field); } } } _productTypes.Insert(type); Event.Raise(new ProductTypeCreated(type), _instance); return(type); }