예제 #1
0
        public static void obtainEdsmLogs(IEdsmService edsmService, IProgress <string> progress)
        {
            if (edsmService != null)
            {
                try
                {
                    DataProviderService            dataProviderService = new DataProviderService(edsmService);
                    List <StarMapResponseLogEntry> flightLogs          = edsmService.getStarMapLog();
                    Dictionary <string, string>    comments            = edsmService.getStarMapComments();
                    int total = flightLogs.Count;
                    int i     = 0;

                    while (i < total)
                    {
                        int batchSize = Math.Min(total, StarMapService.syncBatchSize);
                        List <StarMapResponseLogEntry> flightLogBatch = flightLogs.Skip(i).Take(batchSize).ToList();
                        dataProviderService.syncEdsmLogBatch(flightLogs.Skip(i).Take(batchSize).ToList(), comments);
                        i += batchSize;
                        progress.Report($"{Properties.EDSMResources.log_button_fetching_progress} {i}/{total}");
                    }
                    progress.Report(Properties.EDSMResources.log_button_fetched);
                }
                catch (EDSMException edsme)
                {
                    progress.Report(Properties.EDSMResources.log_button_error_received + edsme.Message);
                }
            }
        }
예제 #2
0
 public EDSMResponder(IEdsmService edsmService)
 {
     this.edsmService    = edsmService;
     dataProviderService = new DataProviderService(edsmService);
     Logging.Info($"Initialized {ResponderName()}");
 }
예제 #3
0
 private StarSystemSqLiteRepository(IEdsmService edsmService)
 {
     this.edsmService    = edsmService;
     dataProviderService = new DataProviderService(edsmService);
     starSystemCache     = new StarSystemCache(30);
 }
예제 #4
0
 public DataProviderService(IEdsmService edsmService = null)
 {
     this.edsmService = edsmService ?? new StarMapService();
 }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BodyController"/> class
 /// </summary>
 /// <param name="logger">An instance of an <see cref="ILogger"/> to log.</param>
 /// <param name="repository">An instance of an <see cref="IBodyRepository"/> to handle database access.</param>
 /// <param name="mapper">An instance of an <see cref="IMapper"/> to automatically map from and to DTOs.</param>
 /// <param name="edsmService">An instance of an <see cref="IEdsmService"/> to retrieve external id's and distances from</param>
 public BodyController(ILogger <BodyController> logger, IBodyRepository repository, IMapper mapper, IEdsmService edsmService)
     : base(logger, repository, mapper)
 {
     _edsmService = edsmService ?? throw new ArgumentNullException(nameof(edsmService));
 }
예제 #6
0
 public NavigationService(IEdsmService edsmService)
 {
     this.edsmService = edsmService;
 }