private async Task RegisterBandTileInternalAsync(IBandClient client) { await this.UnRegisterBandTileInternalAsync(client); var bandHardwareVersion = int.Parse(await client.GetHardwareVersionAsync()); if (bandHardwareVersion < 20) throw new CTimeException(CTime2CoreResources.Get("BandService.OnlyBand2Supported")); var availableTileCount = await client.TileManager.GetRemainingTileCapacityAsync(); if (availableTileCount == 0) throw new CTimeException(CTime2CoreResources.Get("BandService.NoSpaceForBandTile")); var tile = new BandTile(BandConstants.TileId) { SmallIcon = await this.GetBandIcon("TileIcon24px.png"), TileIcon = await this.GetBandIcon("TileIcon48px.png"), Name = "c-time" }; var testConnectionPageLayout = new TestConnectionPageLayout(); tile.PageLayouts.Add(testConnectionPageLayout.Layout); var stampPageLayout = new StampPageLayout(); tile.PageLayouts.Add(stampPageLayout.Layout); var startPageLayout = new StartPageLayout(); tile.PageLayouts.Add(startPageLayout.Layout); await client.TileManager.AddTileAsync(tile); await this.ChangeTileDataToLoadingAsync(client); await client.SubscribeToBackgroundTileEventsAsync(tile.TileId); }
private async Task ChangeTileDataToReadyAsync(IBandClient client) { var loggedIn = this._applicationStateService.GetCurrentUser() != null; bool checkedIn = loggedIn ? await this._cTimeService.IsCurrentlyCheckedIn(this._applicationStateService.GetCurrentUser().Id) : false; var startPageLayout = new StartPageLayout { CTimeTextBlockData = { Text = CTime2CoreResources.Get("BandService.ApplicationName") }, LoadingTextBlockData = { Text = loggedIn ? CTime2CoreResources.Get("BandService.Ready") : CTime2CoreResources.Get("BandService.Error") }, PleaseWaitTextBlockData = { Text = loggedIn ? string.Empty : CTime2CoreResources.Get("BandService.NotLoggedIn") }, }; var stampPageLayout = new StampPageLayout { StampTextBlockData = { Text = CTime2CoreResources.Get("BandService.Stamp") }, StampTextButtonData = { Text = checkedIn ? CTime2CoreResources.Get("BandService.CheckOut") : CTime2CoreResources.Get("BandService.CheckIn") } }; var testConnectionPageLayout = new TestConnectionPageLayout { ConnectionTextBlockData = {Text = CTime2CoreResources.Get("BandService.Connection") }, TestTextButtonData = {Text = CTime2CoreResources.Get("BandService.Test") } }; await this.ChangeTileData(client, startPageLayout, stampPageLayout, testConnectionPageLayout); }
private async Task ChangeTileData(IBandClient client, StartPageLayout startPage, StampPageLayout stampPage, TestConnectionPageLayout testConnectionPage) { await client.TileManager.SetPagesAsync(BandConstants.TileId, new PageData(BandConstants.TestConnectionPageId, 0, testConnectionPage.Data.All), new PageData(BandConstants.StampPageId, 1, stampPage.Data.All), new PageData(BandConstants.StartPageId, 2, startPage.Data.All)); }
private async Task ChangeTileDataToLoadingAsync(IBandClient client) { var startPageLayout = new StartPageLayout { CTimeTextBlockData = { Text = CTime2CoreResources.Get("BandService.ApplicationName") }, LoadingTextBlockData = { Text = CTime2CoreResources.Get("BandService.Loading") }, PleaseWaitTextBlockData = { Text = CTime2CoreResources.Get("BandService.PleaseWait") }, }; var stampPageLayout = new StampPageLayout { StampTextBlockData = {Text = CTime2CoreResources.Get("BandService.Stamp") }, StampTextButtonData = {Text = string.Empty} }; var testConnectionPageLayout = new TestConnectionPageLayout { ConnectionTextBlockData = { Text = CTime2CoreResources.Get("BandService.Connection") }, TestTextButtonData = { Text = string.Empty } }; await this.ChangeTileData(client, startPageLayout, stampPageLayout, testConnectionPageLayout); }