private async Task ActivateCampaign(Uri uri) { CampaignManager campaigns = await Services.GetServiceAsync <CampaignManager> (); string campaignId = uri.Segments[1]; CampaignElement campaign = campaigns.Elements.FirstOrDefault(c => c.Id == campaignId); if (campaign == null) { return; } campaigns.SelectedElement = campaign; }
private async void OnCreate() { CampaignElement c; IsBusy = true; try { var manager = await this.serviceProvider.GetServiceAsync <CampaignManager> (); if (IsOnline) { var serviceClient = await this.serviceProvider.GetServiceAsync <ILiveCampaignClient> (); RemoteCampaign rcampaign; try { rcampaign = await serviceClient.CreateCampaignAsync(Input.Trim(), default); } catch (Exception ex) { Error = ex.Message; return; } c = await manager.CreateCampaignAsync(rcampaign); } else { var sync = await this.serviceProvider.GetServiceAsync <ISyncService> (); var campaign = new CampaignElement { Name = Input.Trim(), IsRemote = false, }; c = await sync.SaveElementAsync(campaign); } manager.SelectedElement = c; } finally { IsBusy = false; } }