internal Element_TileVisual ConvertToElement() { var visual = new Element_TileVisual() { Version = Version, Language = Language, BaseUri = BaseUri, Branding = Branding, AddImageQuery = AddImageQuery, ContentId = ContentId, DisplayName = DisplayName }; if (TileSmall != null) { visual.Bindings.Add(TileSmall.ConvertToElement(TileSize.Small)); } if (TileMedium != null) { visual.Bindings.Add(TileMedium.ConvertToElement(TileSize.Medium)); } if (TileWide != null) { Element_TileBinding wideBindingElement = TileWide.ConvertToElement(TileSize.Wide); // If lock detailed status was specified, add them if (LockDetailedStatus1 != null) { // If we can't reuse existing text element, we'll have to use the hints if (!TryReuseTextElementForLockDetailedText(1, LockDetailedStatus1, wideBindingElement)) { wideBindingElement.LockDetailedStatus1 = LockDetailedStatus1; } } if (LockDetailedStatus2 != null) { if (!TryReuseTextElementForLockDetailedText(2, LockDetailedStatus2, wideBindingElement)) { wideBindingElement.LockDetailedStatus2 = LockDetailedStatus2; } } if (LockDetailedStatus3 != null) { if (!TryReuseTextElementForLockDetailedText(3, LockDetailedStatus3, wideBindingElement)) { wideBindingElement.LockDetailedStatus3 = LockDetailedStatus3; } } visual.Bindings.Add(wideBindingElement); } // Otherwise if they specified lock values, throw an exception since lock values require wide else if (HasLockDetailedStatusValues()) { throw new Exception("To provide lock detailed status text strings, you must also provide a TileWide binding. Either provide a TileWide binding, or leave the detailed status values null."); } if (TileLarge != null) { visual.Bindings.Add(TileLarge.ConvertToElement(TileSize.Large)); } // TODO: If a BaseUri wasn't provided, we can potentially optimize the payload size by calculating the best BaseUri return(visual); }
internal Element_TileVisual ConvertToElement() { var visual = new Element_TileVisual() { Version = Version, Language = Language, BaseUri = BaseUri, Branding = Branding, AddImageQuery = AddImageQuery, ContentId = ContentId, DisplayName = DisplayName }; if (TileSmall != null) visual.Bindings.Add(TileSmall.ConvertToElement(TileSize.Small)); if (TileMedium != null) visual.Bindings.Add(TileMedium.ConvertToElement(TileSize.Medium)); if (TileWide != null) { Element_TileBinding wideBindingElement = TileWide.ConvertToElement(TileSize.Wide); // If lock detailed status was specified, add them if (LockDetailedStatus1 != null) { // If we can't reuse existing text element, we'll have to use the hints if (!TryReuseTextElementForLockDetailedText(1, LockDetailedStatus1, wideBindingElement)) wideBindingElement.LockDetailedStatus1 = LockDetailedStatus1; } if (LockDetailedStatus2 != null) { if (!TryReuseTextElementForLockDetailedText(2, LockDetailedStatus2, wideBindingElement)) wideBindingElement.LockDetailedStatus2 = LockDetailedStatus2; } if (LockDetailedStatus3 != null) { if (!TryReuseTextElementForLockDetailedText(3, LockDetailedStatus3, wideBindingElement)) wideBindingElement.LockDetailedStatus3 = LockDetailedStatus3; } visual.Bindings.Add(wideBindingElement); } // Otherwise if they specified lock values, throw an exception since lock values require wide else if (HasLockDetailedStatusValues()) throw new Exception("To provide lock detailed status text strings, you must also provide a TileWide binding. Either provide a TileWide binding, or leave the detailed status values null."); if (TileLarge != null) visual.Bindings.Add(TileLarge.ConvertToElement(TileSize.Large)); // TODO: If a BaseUri wasn't provided, we can potentially optimize the payload size by calculating the best BaseUri return visual; }