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);
            }
        }
    }
예제 #2
0
    public async Task UploadPlaneFrameMetadataAsync(PlaneFrameMetadata model)
    {
        var result = model.ToModel();

        if (result != null)
        {
            await Context.PlaneFrameMetadata.AddAsync(result);

            await Context.SaveChangesAsync();

            Context.ChangeTracker.Clear();
        }
    }
    public static PlaneFrameMetadataModel ToModel(this PlaneFrameMetadata domain)
    {
        if (domain == null)
        {
            return(null);
        }

        return(new PlaneFrameMetadataModel
        {
            antenna = domain.Antenna,
            detailed = domain.Detailed,
            hostname = domain.Hostname,
            total = domain.Total,
            mark = domain.Timestamp
        });
    }
예제 #4
0
 public async Task UploadPlaneFrameMetadataAsync(PlaneFrameMetadata metadata)
 {
     await _planeFrameMetadataRepository.UploadPlaneFrameMetadataAsync(metadata);
 }