Example #1
0
        public static string GetOrCreateTempDirectory(TrekplannerConfiguration configuration)
        {
            var explicitTempFolder = configuration.Directories?.TempDownloadFolder;

            var folder = string.IsNullOrWhiteSpace(explicitTempFolder) ?
                         Path.Combine(AppData, "downloads") :
                         explicitTempFolder;

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            return(folder);
        }
Example #2
0
        protected override void Load(ContainerBuilder builder)
        {
            //Load config
            builder.RegisterInstance(TrekplannerConfiguration.LoadOrCreate(true)).AsSelf().SingleInstance();

            //Middleware
            builder.RegisterType <KmlLoaderMiddleware>().As <IGeoLoaderMiddleware>().SingleInstance();
            builder.RegisterType <GpxLoaderMiddleware>().As <IGeoLoaderMiddleware>().SingleInstance();

            builder.RegisterType <HtmlReportExporter>().As <ITrackReportExporter>().SingleInstance();

            //Services
            builder.RegisterType <UiService>().As <IUiService>().AsSelf().SingleInstance();
            builder.RegisterType <SrtmRepository>().AsSelf().SingleInstance();
            builder.RegisterType <GeoLoaderService>().AsSelf().SingleInstance();
            builder.RegisterType <HeightmapManagerVm>().AsSelf().SingleInstance();
            builder.RegisterType <LocalizationManager>().AsSelf().SingleInstance();
            builder.RegisterType <UiLoggingVm>().As <IUiLoggingService>().AsSelf().SingleInstance();

            //Heightmap providers
            builder.RegisterType <SrtmFileDownloadHeightmapProvider>().AsSelf().As <IHeightmapProvider>().SingleInstance();

            //Windows

            builder.RegisterType <HeightmapDownloaderWindow>().AsSelf().InstancePerDependency();
            builder.RegisterType <MainWindow>().AsSelf().SingleInstance();

            builder.RegisterType <ProgramSettingsWindow>().AsSelf().InstancePerDependency();
            builder.RegisterType <ProgramSettingsVm>().AsSelf().InstancePerDependency().
            UsingConstructor(new NotXamlConstructorSelector());

            //Vms
            builder.RegisterType <TrackVm>().AsSelf().InstancePerDependency();
            builder.RegisterType <TrackReportVm>().AsSelf().InstancePerDependency();
            builder.RegisterType <TrackReportItemVm>().AsSelf().InstancePerDependency();

            builder.RegisterType <TrackManagerVm>().AsSelf().SingleInstance();

            builder.RegisterType <HeightmapDownloaderVm>().AsSelf().
            InstancePerDependency().
            UsingConstructor(new NotXamlConstructorSelector());

            builder.RegisterType <MainSettingsVm>().AsSelf().
            InstancePerDependency()
            .UsingConstructor(new NotXamlConstructorSelector());
        }
Example #3
0
        public TrackReportVm(TrackVm source,
                             IUiLoggingService loggingService,
                             IUiService uiService,
                             SrtmRepository srtmRepository,
                             ITrackReportExporter[] reportExporters,
                             Func <TrackVm, TrackReportItemVm> reportItemGenerator,
                             TrekplannerConfiguration configuration)
        {
            _loggingService      = loggingService;
            _uiService           = uiService;
            _srtmRepository      = srtmRepository;
            _reportExporters     = reportExporters;
            _reportItemGenerator = reportItemGenerator;
            _configuration       = configuration;

            Source = source;
            Totals = new TrackReportTotalsVm(this);
            Chart  = new TrackChartVm(this);

            ExportCommand = new DelegateCommand(o => Results.Any(), ExportReportAsync);
        }
Example #4
0
 public MainSettingsVm(TrekplannerConfiguration configuration)
 {
     _configuration = configuration;
 }
Example #5
0
 public LocalizationManager(TrekplannerConfiguration configuration, IUiService uiService)
 {
     _configuration = configuration;
     _uiService     = uiService;
 }