Esempio n. 1
0
    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);
            }
        }
    }
Esempio n. 3
0
    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);
        }
Esempio n. 6
0
 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));
Esempio n. 9
0
 public static string ToPayload(this PlaneFrame frame) => JsonConvert.SerializeObject(frame.Planes);
Esempio n. 10
0
 public static string ToKey(this PlaneFrame frame) => $"plane_{frame.Now}";