public IEnumerable <TidyData> Data(DataCsvFilename dataCsvFilename,
                                           Guid publicationId,
                                           int releaseId,
                                           DateTime releaseDate)
        {
            var file      = dataCsvFilename + ".csv";
            var directory = Directory.GetCurrentDirectory();
            var newPath   = Path.GetFullPath(Path.Combine(directory, _path));

            var path = newPath + "/wwwroot/data/" + file;

            Console.WriteLine("Reading data from:" + path);

            var headers = File.ReadLines(path).First().Split(',').ToList();

            var data = File.ReadAllLines(path)
                       .Skip(1)
                       .Select(x => TidyDataFromCsv(x, headers, publicationId, releaseId, releaseDate)).ToList();

            return(data.ToList());
        }
        public ICsvImporter Importer(DataCsvFilename filename)
        {
            var entityType = filename.GetEntityTypeFromDataFileAttributeOfEnumType(filename.GetType());

            if (entityType == typeof(GeographicData))
            {
                return(_geographicCsvImporter);
            }

            if (entityType == typeof(CharacteristicDataLa))
            {
                return(_laCharacteristicCsvImporter);
            }

            if (entityType == typeof(CharacteristicDataNational))
            {
                return(_nationalCharacteristicCsvImporter);
            }

            throw new ArgumentOutOfRangeException(nameof(filename), filename, null);
        }
예제 #3
0
        public int Count(DataCsvFilename filename, Guid publicationId, int releaseId)
        {
            var entityType = filename.GetEntityTypeFromDataFileAttributeOfEnumType(filename.GetType());

            if (entityType == typeof(GeographicData))
            {
                return(_geographicDataService.Count(data =>
                                                    data.PublicationId == publicationId && data.ReleaseId == releaseId));
            }

            if (entityType == typeof(CharacteristicDataLa))
            {
                return(_laCharacteristicDataService.Count(data =>
                                                          data.PublicationId == publicationId && data.ReleaseId == releaseId));
            }

            if (entityType == typeof(CharacteristicDataNational))
            {
                return(_nationalCharacteristicDataService.Count(data =>
                                                                data.PublicationId == publicationId && data.ReleaseId == releaseId));
            }

            throw new ArgumentOutOfRangeException(nameof(filename), filename, null);
        }