Kooboo.Commerce.Products.ProductTypeService.Create C# (CSharp) Метод

Create() публичный Метод

public Create ( CreateProductTypeRequest request ) : ProductType
request CreateProductTypeRequest
Результат ProductType
        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;
        }