Ejemplo n.º 1
0
        public bool SignIn(GarminConfiguration garminSettings)
        {
            try
            {
                Session = new Session();
                var signInResponse = PostLogInRequest(garminSettings.Username, garminSettings.Password);
                var ticketUrl      = GetServiceTicketUrl(signInResponse);
                return(ProcessTicket(ticketUrl));
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error signing in. {0}", ex.Message);
            }

            return(false);
        }
Ejemplo n.º 2
0
        public static async Task Main(string[] args)
        {
            IConfigurationRoot config = new ConfigurationBuilder()
                                        .SetBasePath(Directory.GetCurrentDirectory())
                                        .AddJsonFile(args[0], optional: true, reloadOnChange: true)
                                        .Build();

            DbSettings dbSettings = new DbSettings();

            config.GetSection("DbSettings").Bind(dbSettings);

            GarminConfiguration garminSettings = new GarminConfiguration();

            config.GetSection("GarminSettings").Bind(garminSettings);

            Console.WriteLine($"Garmin-User: {garminSettings.Username}");

            MailConfiguration mailSettings = new MailConfiguration();

            config.GetSection("MailSettings").Bind(mailSettings);

            FileSystemConfiguration fileSystemSettings = new FileSystemConfiguration();

            config.GetSection("FileSystem").Bind(fileSystemSettings);

            IUnityContainer unity = new UnityContainer();

            new DBConfiguration(unity, dbSettings);
            unity.RegisterType <IActivityMetadataDao, ActivityMetadataDao>();
            unity.RegisterType <ISessionService, SessionService>(new ContainerControlledLifetimeManager());
            unity.RegisterType <IActivitySearchService, ActivitySearchService>();
            unity.RegisterType <IActivityService, ActivityService>();
            unity.RegisterType <IReportService, ReportService>();
            unity.RegisterType <IMailService, MailService>();
            unity.RegisterType <IActivityArchiveService, ActivityArchiveService>();

            ISessionService sessionService = unity.Resolve <ISessionService>();

            try
            {
                sessionService.SignOut();
            }
            catch (Exception ex)
            {
            }
            sessionService.SignIn(garminSettings);
            IActivityService activityService = unity.Resolve <IActivityService>();

            activityService.SyncLatestMetadata();
            activityService.SyncFiles(fileSystemSettings);
            activityService.CleanGpxFiles(fileSystemSettings);
            try
            {
                sessionService.SignOut();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            IReportService resportService = unity.Resolve <IReportService>();
            string         report         = resportService.CreateTextReportForLastSevenDays();
            IMailService   mailService    = unity.Resolve <IMailService>();
            await mailService.SendMailAsync(mailSettings, report);
        }