public static async System.Threading.Tasks.Task <IActionResult> Run([HttpTrigger] HttpRequest req, ILogger log) { log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}"); var firebaseService = new FirebaseService(); var appCenterService = new AppCenterService(new HttpClient()); var openWeatherService = new OpenWeatherService(new HttpClient()); var notificacoes = await firebaseService.ObterNotificacoes(); foreach (var notificacao in notificacoes) { var cidade = await openWeatherService.ObterClimaTempo(notificacao.Cidade); if (notificacao.DeveNotificarTemperaturaMinima(cidade.Principal.TemperaturaMinima)) { await appCenterService.AdicionarNotificacao( new[] { notificacao.IdDispositivo }, "ClimaTempo", "A temperatura caiu!", $"Cidade de {notificacao.Cidade} com temperatura atual de {cidade.Principal.TemperaturaMinima}°."); } if (notificacao.DeveNotificarVentoVelocidadeMinima(Convert.ToDouble(cidade.Vento.Velocidade))) { await appCenterService.AdicionarNotificacao( new[] { notificacao.IdDispositivo }, "ClimaTempo", "A velocidade do vendo caiu!", $"Cidade de {notificacao.Cidade} com velocidade atual do vendo em {cidade.Vento.Velocidade}."); } } return(new OkObjectResult("OK")); }
void OpenLinkInApp(NSUrl url) { DispatchQueue.MainQueue.DispatchAsync(() => UIApplication.SharedApplication.OpenUrl(url, new UIApplicationOpenUrlOptions { SourceApplication = "com.minnick.XamarinIoTWorkshop" }, null)); AppCenterService.TrackEvent("Launched Twitter Profile", "Method", "Twitter App"); }
/// <summary> /// Initializes a new instance of the <see cref="ViewModelLocator"/> class and the <see cref="MainViewModel"/>. /// Creates and registers all the services with <see cref="SimpleIoc.Default"/>. /// </summary> public ViewModelLocator() { if (_hasRun) { return; } _hasRun = true; SimpleIoc.Default.Register <IDispatcherHelper, DispatcherHelperEx>(); var navigationService = new SubFrameNavigationService(); navigationService.Configure("AboutPage", typeof(AboutPage)); navigationService.Configure("AddChannelPage", typeof(AddChannelPage)); navigationService.Configure("AddServerPage", typeof(AddServerPage)); navigationService.Configure("AttachmentPage", typeof(AttachmentPage)); navigationService.Configure("ChangeNicknamePage", typeof(ChangeNicknamePage)); navigationService.Configure("CreateInvitePage", typeof(CreateInvitePage)); navigationService.Configure("CreditPage", typeof(CreditPage)); navigationService.Configure("DiscordStatusPage", typeof(DiscordStatusPage)); navigationService.Configure("GuildSettingsPage", typeof(GuildSettingsPage)); navigationService.Configure("LicensesPage", typeof(LicensesPage)); navigationService.Configure("LoginPage", typeof(LoginPage)); navigationService.Configure("TopicPage", typeof(TopicPage)); navigationService.Configure("UserProfilePage", typeof(UserProfilePage)); navigationService.Configure("UserSettingsPage", typeof(UserSettingsPage)); navigationService.Configure("WhatsNewPage", typeof(WhatsNewPage)); SimpleIoc.Default.Register <ISubFrameNavigationService>(() => navigationService); AppCenterService appCenterService = new AppCenterService(); #if !DEBUG appCenterService.Initialize(); #endif SimpleIoc.Default.Register <IAnalyticsService>(() => appCenterService); SimpleIoc.Default.Register <ICacheService, CacheService>(); SimpleIoc.Default.Register <IClipboardService, ClipboardService>(); SimpleIoc.Default.Register <IResourceService, ResourceService>(); SimpleIoc.Default.Register <ISettingsService, SettingsService>(); SimpleIoc.Default.Register <IServiceProvider>(() => App.ServiceProvider); SimpleIoc.Default.Register <IGatewayService, GatewayService>(); SimpleIoc.Default.Register <IDiscordService, DiscordService>(); SimpleIoc.Default.Register <IPresenceService, PresenceService>(); SimpleIoc.Default.Register <IFriendsService, FriendsService>(); SimpleIoc.Default.Register <IChannelsService, ChannelsService>(); SimpleIoc.Default.Register <IGuildsService, GuildsService>(); SimpleIoc.Default.Register <ICurrentUserService, CurrentUsersService>(); SimpleIoc.Default.Register <IVoiceService, VoiceService>(); SimpleIoc.Default.Register <MainViewModel>(); SimpleIoc.Default.Register <EmojiPickerViewModel>(() => { var tmp = Task.Run(async() => await Constants.FromFile.GetEmojiLists()); return(new EmojiPickerViewModel(tmp.GetAwaiter().GetResult())); }); }
async Task OpenLinkInSFSafariViewController(NSUrl url) { var safariViewController = new SFSafariViewController(url); var visibleViewController = await GetVisibleViewController().ConfigureAwait(false); DispatchQueue.MainQueue.DispatchAsync(() => visibleViewController.PresentViewControllerAsync(safariViewController, true)); AppCenterService.TrackEvent("Launched Twitter Profile", "Method", "SFSafariViewController"); }
public Task OpenTwitter() { return(Task.Run(() => { var packageManager = CurrentActivity.PackageManager; try { CurrentActivity.StartActivity(new Intent(Intent.ActionView, Android.Net.Uri.Parse(TwitterConstants.BrandonMinnickTwitterDeepLink))); AppCenterService.TrackEvent(AppCenterConstants.LaunchedTwitterProfile, AppCenterConstants.Method, AppCenterConstants.TwitterApp); } catch (ActivityNotFoundException) { OpenChromeCustomTabs(TwitterConstants.BrandonMinnickTwitterUrl); AppCenterService.TrackEvent(AppCenterConstants.LaunchedTwitterProfile, AppCenterConstants.Method, AppCenterConstants.AndroidCustomTabs); } })); }
public BusinessLogicActivity(IRepository repository, PhoneService phoneService, IMemoryCache memoryCache, AppCenterService appCenterService) : base(repository, phoneService, memoryCache) { _appCenterService = appCenterService; }