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"));
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 3
0
        /// <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()));
            });
        }
Ejemplo n.º 4
0
        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");
        }
Ejemplo n.º 5
0
        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);
                }
            }));
        }
Ejemplo n.º 6
0
 public BusinessLogicActivity(IRepository repository, PhoneService phoneService, IMemoryCache memoryCache, AppCenterService appCenterService) : base(repository, phoneService, memoryCache)
 {
     _appCenterService = appCenterService;
 }