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); }
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); }