public TileWide310x150PeekImageAndText02(ITileDataModel data)
 {
     this._builder = new TileBindingTemplateBuilder(TileTemplateType.TileWide310x150PeekImageAndText02, 
                                                     data.Notifications, 
                                                     data.WideImage);
 }
 public string GetBindingTemplateXml(ITileDataModel data)
 {
     throw new NotImplementedException();
 }
 public TileSquare150x150PeekImageAndText01(ITileDataModel data)
 {
     this._builder = new TileBindingTemplateBuilder(TileTemplateType.TileSquare150x150PeekImageAndText01, 
                                                     data.Notifications, 
                                                     data.SquareImage);
 }
 /// <summary>
 ///     <binding template='TileSquare71x71Image'>
 ///         <image id='1' src='ms-appx:///Assets/Square71x71Logo.png' alt='Gray image'/>
 ///     </binding>
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 public  Tile71x71(ITileDataModel data)
 {
     _bindingTemplateXml = String.Format(_bindingTemplateXml, data.SmallImage);
 }
        public void UpdateBadge(ITileDataModel data)
        {
            int badgeValue = 0;
            if ( data.Badge == null|| 
                !int.TryParse(data.Badge, out badgeValue))
            {
                return;
            }
            string tileXmlString01 = "<badge version='1' value='" + badgeValue.ToString() + "'/>";


            // Create a new tile notification. 
            XmlDocument badgeXml = new Windows.Data.Xml.Dom.XmlDocument();
            badgeXml.LoadXml(tileXmlString01);
            BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(new BadgeNotification(badgeXml));
        }
        public void UpdateTiles(ITileDataModel data)
        {
            // Create a new tile notification. 
            XmlDocument tileXml = new Windows.Data.Xml.Dom.XmlDocument();
            tileXml.LoadXml(this.GetTileXml(data));

            // Create a tile update manager for the specified syndication feed.
            var updater = TileUpdateManager.CreateTileUpdaterForApplication();
            updater.EnableNotificationQueue(true);
            updater.Clear();
            updater.Update(new TileNotification(tileXml));
        }
        /// <summary>
        ///  Expected tile XML:
        ///              <tile>
        ///                    <visual version='3'>
        ///                        <binding template='TileSquare71x71Image'>
        ///                            <image id='1' src='ms-appx:///Assets/Square71x71Logo.png' alt='Gray image'/>
        ///                        </binding>
        ///                        <binding template='TileSquare150x150PeekImageAndText01' fallback='TileSquareImage'>
        ///                            <image id='1' src='ms-appx:///Assets/Square150x150Logo.png' alt='Gray image'/>
        ///                            <text id='1'>Tile text line 1</text>
        ///                            <text id='2'>Tile text line 2</text>
        ///                            <text id='3'>Tile text line 3</text>
        ///                            <text id='4'>Tile text line 4</text>
        ///                         </binding>
        ///                        <binding template='TileWide310x150PeekImageAndText02' fallback='TileWideImageAndText01'>
        ///                            <image id='1' src='ms-appx:///Assets/WideLogo.scale-100.png' alt='Red image'/>
        ///                            <text id='1'>Tile text line 1</text>
        ///                            <text id='2'>Tile text line 2</text>
        ///                            <text id='3'>Tile text line 3</text>
        ///                            <text id='4'>Tile text line 4</text>
        ///                        </binding>
        ///                    </visual>
        ///               </tile>
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        private string GetTileXml(ITileDataModel data)
        {

            return String.Format(TILE_XML, 
                                this._small71x71.XmlString,
                                this._square150x150.XmlString, 
                                this._wide310x150.XmlString);
        }