protected virtual string GetString(Article product) { Throws.IfArgumentNull(product, _ => product); int typeId = default(int); var typeField = product.GetField("Type"); var field = typeField as ExtensionArticleField; if (field != null) { if (!int.TryParse(field.Value, out typeId)) { typeId = 0; } } if (typeId <= 0) { _logger.Error("Product {productId} has no type", product.Id); } return(_service.GetControlDefinition(product.ContentId, typeId)); }