public static PlaneFrame ToDomain(this AirplaneRecord record) { if (record == null) { return(null); } var result = new PlaneFrame(); result.Now = (int)record.Now; var resultingPlanes = new List <Plane>(); foreach (var plane in record.Planes) { if (plane.IsValid()) { resultingPlanes.Add(plane.ToDomain()); } } result.Planes = resultingPlanes.ToArray(); return(result); }
public async Task HandleMessageAsync(PlaneFrame frame) { Console.WriteLine($"Processing frame {frame.Now}"); if (frame.Planes.Length != 0) { try { await _infraservice.AddPlaneFrameAsync(frame); DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0); //from start epoch time var now = epoch.AddSeconds(frame.Now); var detailed = frame.Planes.Count(); var total = detailed; var metadata = new PlaneFrameMetadata { Antenna = "aggregate", Detailed = detailed, Total = total, Hostname = "center3", Timestamp = now }; await _infraservice.UploadPlaneFrameMetadataAsync(metadata); } catch (Exception e) { //Something is wrong but I am not going to debug it yet Console.WriteLine(e.Message); } } }
public static PlaneFrame ToDomain(this RedisValue value, int now) { var planes = JsonConvert.DeserializeObject <Plane[]>((string)value); var frame = new PlaneFrame { Planes = planes, Now = now }; return(frame); }
public void TestInitialize() { _frame = new PlaneFrame() { Now = 1, Planes = new Plane[] { } }; _infra = new Mock <IPlaneApiInfrastructureService>(); _infra.Setup(_ => _.GetFrameAsync(It.IsAny <long>())).Returns(Task.FromResult(_frame)); _service = new PlaneApiService(_infra.Object); }
public void TestInitialize() { _plane = new Plane() { altitude = 1 }; _frame = new PlaneFrame() { Now = 1, Planes = new[] { _plane } }; _infra = new Mock <IPlaneListenerInfrastructureService>(); _service = new PlaneListenerService(_infra.Object); }
public async Task AddPlaneFrameAsync(PlaneFrame frame) { await _planeCacheRepository.InsertPlaneFrameAsync(frame); }
public async Task InsertFrameAsync(PlaneFrame frame) { await Collection.UpsertAsync($"{frame.Now}", frame); }
public Task InsertPlaneFrameAsync(PlaneFrame frame) => DB.StringSetAsync(frame.ToKey(), frame.ToPayload(), new TimeSpan(0, 0, 45));
public static string ToPayload(this PlaneFrame frame) => JsonConvert.SerializeObject(frame.Planes);
public static string ToKey(this PlaneFrame frame) => $"plane_{frame.Now}";