public FileDataWorker(IFileStreamer fileStreamer, ILogger logger,
                       string dataFolder = FileSystemConstants.DataFolder)
 {
     using (logger.BeginScope("{Operation}", nameof(FileDataWorker)))
     {
         FileStreamer           = fileStreamer;
         _logger                = logger;
         TopLevelDataFolderName = dataFolder;
         _logger.LogInformation("Created data worker");
     }
 }
Example #2
0
 public FileImporter(
     IFileStreamer fileStreamer,
     IDataReader <TRead> valueReader,
     IValueParser <TRead> valueParser,
     IModelWriter modelWriter)
 {
     _fileStreamer = fileStreamer;
     _valueReader  = valueReader;
     _valueParser  = valueParser;
     _modelWriter  = modelWriter;
 }
 public FileExporter(
     IModelReader <TRead> modelReader,
     IValueSerializer <TRead, TSerialized> valueSerializer,
     IDataWriter <TSerialized> fileWriter,
     IFileStreamer fileStreamer
     )
 {
     _modelReader     = modelReader;
     _valueSerializer = valueSerializer;
     _DataWriter      = fileWriter;
     _fileStreamer    = fileStreamer;
 }
Example #4
0
        public FileRepository()
        {
            try
            {
                FileStreamer = new JSONFileStreamer();
                _stations    = FileStreamer.RestoreList <Station>(Path.Combine(DataFolder, StationsFileName));
                _routes      = FileStreamer.RestoreList <Route>(Path.Combine(DataFolder, RoutesFileName));
                _users       = FileStreamer.RestoreList <User>(Path.Combine(DataFolder, UsersFileName));



                foreach (var route in Routes)
                {
                    route.Stations = new List <RouteStation>();
                    foreach (var id in route.StationIds)
                    {
                        route.Stations.Add(new RouteStation()
                        {
                            Station = Stations.SingleOrDefault(s => s.Id == id)
                        });
                    }
                    int totalDistance = 0;
                    route.Stations[0].TimeFromOrigin = 0;
                    for (int k = 0; k < route.Intervals.Count; k++)
                    {
                        totalDistance += route.Intervals[k];
                        route.Stations[k + 1].TimeFromOrigin = totalDistance;
                    }
                    // Going back to fill TimeFromDest
                    for (int k = route.Intervals.Count - 1; k >= 0; k--)
                    {
                        route.Stations[k].TimeFromDest = totalDistance - route.Stations[k].TimeFromOrigin;
                    }
                }
                ;
                if (Users != null)
                {
                    foreach (var user in Users)
                    {
                        foreach (var pref in user.Preferences)
                        {
                            pref.Station = (Stations.SingleOrDefault(s => s.Id == pref.StationId));
                        }
                    }
                }
            }
            catch
            {
                // Is something goes wrong, start off with empty collections
                _users = new List <User>();
            }
        }
 public FileDataWorker(IFileStreamer fileStreamer, string dataFolder = FileSystemConstants.DataFolder) : this(
         fileStreamer, new EmptyLogger(), dataFolder)
 {
 }
 public FileDataWorker(IFileStreamer fileStreamer) : this(fileStreamer, new EmptyLogger())
 {
 }
Example #7
0
 public FileAuditWorker(IFileStreamer fileStreamer, IAuditGenerator auditGenerator) : this(fileStreamer,
                                                                                           auditGenerator, new EmptyLogger())
 {
 }
Example #8
0
 public FileAuditWorker(IFileStreamer fileStreamer, string dataFolder, ILogger logger) : this(fileStreamer,
                                                                                              new AuditGenerator(logger), logger, dataFolder)
 {
 }