/// <summary> /// Run the code example. /// </summary> public void Run(DfpUser user) { using (CustomFieldService customFieldService = (CustomFieldService)user.GetService(DfpService.v201802.CustomFieldService)) { // Set the ID of the drop-down custom field to create options for. long customFieldId = long.Parse(_T("INSERT_DROP_DOWN_CUSTOM_FIELD_ID_HERE")); // Create custom field options. CustomFieldOption customFieldOption1 = new CustomFieldOption(); customFieldOption1.displayName = "Approved"; customFieldOption1.customFieldId = customFieldId; CustomFieldOption customFieldOption2 = new CustomFieldOption(); customFieldOption2.displayName = "Unapproved"; customFieldOption2.customFieldId = customFieldId; try { // Add custom field options. CustomFieldOption[] customFieldOptions = customFieldService.createCustomFieldOptions(new CustomFieldOption[] { customFieldOption1, customFieldOption2 }); // Display results. if (customFieldOptions != null) { foreach (CustomFieldOption customFieldOption in customFieldOptions) { Console.WriteLine( "Custom field option with ID \"{0}\" and name \"{1}\" was " + "created.", customFieldOption.id, customFieldOption.displayName); } } else { Console.WriteLine("No custom field options created."); } } catch (Exception e) { Console.WriteLine( "Failed to create custom field options. Exception says \"{0}\"", e.Message); } } }
/// <summary> /// Run the code example. /// </summary> /// <param name="user">The DFP user object running the code example.</param> public override void Run(DfpUser user) { // Get the CustomFieldService. CustomFieldService customFieldService = (CustomFieldService) user.GetService(DfpService.v201511.CustomFieldService); // Set the ID of the drop-down custom field to create options for. long customFieldId = long.Parse(_T("INSERT_DROP_DOWN_CUSTOM_FIELD_ID_HERE")); // Create custom field options. CustomFieldOption customFieldOption1 = new CustomFieldOption(); customFieldOption1.displayName = "Approved"; customFieldOption1.customFieldId = customFieldId; CustomFieldOption customFieldOption2 = new CustomFieldOption(); customFieldOption2.displayName = "Unapproved"; customFieldOption2.customFieldId = customFieldId; try { // Add custom field options. CustomFieldOption[] customFieldOptions = customFieldService.createCustomFieldOptions(new CustomFieldOption[] {customFieldOption1, customFieldOption2}); // Display results. if (customFieldOptions != null) { foreach (CustomFieldOption customFieldOption in customFieldOptions) { Console.WriteLine("Custom field option with ID \"{0}\" and name \"{1}\" was created.", customFieldOption.id, customFieldOption.displayName); } } else { Console.WriteLine("No custom field options created."); } } catch (Exception e) { Console.WriteLine("Failed to create custom field options. Exception says \"{0}\"", e.Message); } }
private void BuildProductMediaXml( XmlDocument doc, XmlElement root) { string imageFolderPath = ProductHelper.MediaFolderPath(CacheHelper.GetCurrentSiteSettings().SiteId, product.ProductId); string thumbnailImageFolderPath = imageFolderPath + "thumbs/"; string siteRoot = WebUtils.GetSiteRoot(); Regex youtubeVideoRegex = new Regex("youtu(?:\\.be|be\\.com)/(?:.*v(?:/|=)|(?:.*/)?)([a-zA-Z0-9-_]+)"); List <ContentMedia> listMedia = ContentMedia.GetByContentDesc(product.ProductGuid); List <int> mediaTypes = new List <int>(); List <CustomFieldOption> listOptions = new List <CustomFieldOption>(); foreach (ContentMedia media in listMedia) { if (media.MediaType > 0 && !mediaTypes.Contains(media.MediaType)) { mediaTypes.Add(media.MediaType); } } if (mediaTypes.Count > 0) { listOptions = CustomFieldOption.GetByOptionIds(product.SiteId, string.Join(";", mediaTypes.ToArray())); } if (listOptions.Count > 0) { foreach (CustomFieldOption option in listOptions) { XmlElement element = doc.CreateElement("ProductColors"); root.AppendChild(element); XmlHelper.AddNode(doc, element, "Title", option.Name); XmlHelper.AddNode(doc, element, "Color", option.OptionColor); XmlHelper.AddNode(doc, element, "ColorId", option.CustomFieldOptionId.ToString()); foreach (ContentMedia media in listMedia) { if ( (option.CustomFieldOptionId == media.MediaType) && (media.LanguageId == -1 || media.LanguageId == languageId) && (media.MediaType != (int)ProductMediaType.Video) ) { BuildProductImagesXml(doc, element, media, imageFolderPath, thumbnailImageFolderPath); } } } } foreach (ContentMedia media in listMedia) { if (media.LanguageId == -1 || media.LanguageId == languageId) { if (media.MediaType != (int)ProductMediaType.Video) { BuildProductImagesXml(doc, root, media, imageFolderPath, thumbnailImageFolderPath); if (media.MediaType != (int)ProductMediaType.Image) { string relativePath = siteRoot + ProductHelper.GetMediaFilePath(imageFolderPath, media.MediaFile); basePage.AdditionalMetaMarkup += "\n<meta property=\"og:image\" content=\"" + relativePath + "\" />"; basePage.AdditionalMetaMarkup += "\n<meta itemprop=\"image\" content=\"" + relativePath + "\" />"; } } else { XmlElement element = doc.CreateElement("ProductVideos"); root.AppendChild(element); XmlHelper.AddNode(doc, element, "Title", media.Title); XmlHelper.AddNode(doc, element, "DisplayOrder", media.DisplayOrder.ToString()); XmlHelper.AddNode(doc, element, "Type", media.MediaType.ToString()); XmlHelper.AddNode(doc, element, "VideoUrl", ProductHelper.GetMediaFilePath(imageFolderPath, media.MediaFile)); string thumbnailPath = ProductHelper.GetMediaFilePath(thumbnailImageFolderPath, media.ThumbnailFile); if (media.ThumbnailFile.Length == 0 && media.MediaFile.ContainsCaseInsensitive("youtu")) { Match youtubeMatch = youtubeVideoRegex.Match(media.MediaFile); string videoId = string.Empty; if (youtubeMatch.Success) { videoId = youtubeMatch.Groups[1].Value; } thumbnailPath = "http://img.youtube.com/vi/" + videoId + "/0.jpg"; } XmlHelper.AddNode(doc, element, "ThumbnailUrl", thumbnailPath); } if (displaySettings.ShowVideo) { XmlElement element = doc.CreateElement("ProductMedia"); root.AppendChild(element); XmlHelper.AddNode(doc, element, "Title", media.Title); XmlHelper.AddNode(doc, element, "DisplayOrder", media.DisplayOrder.ToString()); XmlHelper.AddNode(doc, element, "Type", media.MediaType.ToString()); XmlHelper.AddNode(doc, element, "MediaUrl", ProductHelper.GetMediaFilePath(imageFolderPath, media.MediaFile)); XmlHelper.AddNode(doc, element, "ThumbnailUrl", ProductHelper.GetMediaFilePath(thumbnailImageFolderPath, media.ThumbnailFile)); } } } }
public void Update(CustomFieldOption entity) { Context.Entry(entity).State = EntityState.Modified; }
public void Save(CustomFieldOption entity) { Context.CustomFieldOptions.Add(entity); }