public Airport(TimeZoneLocation timeZoneLocation, string code, AirportImportance importance) { TimeZoneLocation = timeZoneLocation; Code = code; Importance = importance; Id = Guid.NewGuid(); }
private TimeZoneLocation CloneTimeZoneLocation(TimeZoneLocation timeZone) { return(new TimeZoneLocation { Id = timeZone.Id, TimeOffset = timeZone.TimeOffset, Boundaries = timeZone.Boundaries }); }
private List <TimeZoneLocation> LoadTimeZones() { using (var sourceStream = _repositoryFiles.GetTimeZonesDataStream()) { using (var reader = new BinaryReader(sourceStream)) { var timeZonesCount = reader.ReadInt32(); var result = new List <TimeZoneLocation>(timeZonesCount); for (int timeZoneIndex = 0; timeZoneIndex < timeZonesCount; timeZoneIndex++) { var id = reader.ReadInt32(); var timeOffset = reader.ReadSingle(); var latitudesCount = reader.ReadInt32(); var timeZone = new TimeZoneLocation() { Id = -id, TimeOffset = timeOffset }; result.Add(timeZone); var latitudes = new IEnumerable <Range <float> > [latitudesCount]; for (int latitudeIndex = 0; latitudeIndex < latitudesCount; latitudeIndex++) { var linesCount = reader.ReadByte(); if (linesCount > 0) { var lines = new List <Range <float> >(linesCount); for (int lineIndex = 0; lineIndex < linesCount; lineIndex++) { var start = reader.ReadSingle(); var end = reader.ReadSingle(); lines.Add(new Range <float>(Deg2Rad(start), Deg2Rad(end))); } latitudes[latitudeIndex] = lines.ToImmutableArray(); } } timeZone.Boundaries = latitudes.ToImmutableArray(); } return(result); } } }