private static void GetTiles(string[] UncompletedTasks) { int Tiles = 2; int RowsMediumWide = 3; int RowsLarge = 9; string LiveTile = ""; while (Tiles <= 5) { string MediumWideTileContent = GetLiveTilesRows(UncompletedTasks, RowsMediumWide, MaxRows: 4); if (MediumWideTileContent.Length != 0) { LiveTile = $@"<tile> <visual> <binding template='TileWideText05'> {MediumWideTileContent} </binding> <binding template='TileSquareText03'> {MediumWideTileContent} </binding>"; } string LargeTileContent = GetLiveTilesRows(UncompletedTasks, RowsLarge, MaxRows: 11); if (LargeTileContent.Length != 0) { LiveTile += $@" <binding template = 'TileSquare310x310Text03'> {LargeTileContent} </binding>"; } LiveTile += @" </visual> </tile> "; if (MediumWideTileContent.Length == 0 && LargeTileContent.Length == 0) { break; } LiveTiles.LiveTileUpdater(LiveTile); RowsMediumWide += 4; RowsLarge += 11; Tiles++; } }
private static void SendLiveTiles(ObservableCollection <Tasks> TaskItems, ObservableCollection <Tasks> Queue) { string[] UncompletedTasks = GetUncompletedTaskInfo(TaskItems); if (UncompletedTasks != null) { LiveTiles.UpdateBadge(UncompletedTasks.Length.ToString()); } else { TileUpdateManager.CreateTileUpdaterForApplication().Clear(); } TileUpdateManager.CreateTileUpdaterForApplication().Clear(); TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true); if (UncompletedTasks != null && Queue.Count == 0 && UncompletedTasks.Length != 0) { string HeadTile = $@"<tile> <visual> <binding template='TileWideText01'> <text id='1'>Uncompleted tasks</text> {GetLiveTilesRows(UncompletedTasks, 0, 2, 3)} </binding> <binding template='TileSquareText01'> <text id='1'>Uncompleted</text> {GetLiveTilesRows(UncompletedTasks, 0, 2, 3)} </binding> <binding template='TileSquare310x310Text01'> <text id='1'>Uncompleted tasks</text> {GetLiveTilesRows(UncompletedTasks, 0, 2, 9)} </binding> </visual> </tile>"; LiveTiles.LiveTileUpdater(HeadTile); GetTiles(UncompletedTasks); } else { foreach (var Item in Queue) { string tile = $@"<tile> <visual> <binding template='TileWideText09'> <text id='1'>{Item.Name}</text> <text id='2'>{Item.Description}</text> </binding> <binding template='TileSquareText02'> <text id='1'>{Item.Name}</text> <text id='2'>{Item.Description}</text> </binding> <binding template='TileSquare310x310TextList03'> <text id='1'>{Item.Name}</text> <text id='2'>{Item.Description}</text> <text id='3'>Days complete</text> <text id='4'>{Item.Dates.Count.ToString() + " of " + ((Item.End - Item.Start).TotalDays + 1).ToString()}</text> <text id='5'>Remaining days</text> <text id='6'>{(Item.End - DateTime.Today).Days + " days"}</text> </binding> </visual> </tile>"; LiveTiles.LiveTileUpdater(tile); } } }