public async Task CreateAsync(GeoloacationPayload payload)
        {
            var device = await _deviceRepository.FirstOrDefaultAsync(f => f.DeviceId == payload.DeviceId);

            if (device == null)
            {
                device = new DeviceEntity()
                {
                    Id       = Guid.NewGuid(),
                    DeviceId = payload.DeviceId
                };

                await _deviceRepository.AddAndSaveAsync(device);
            }

            var log = new LogEntity()
            {
                Id        = Guid.NewGuid(),
                DeviceId  = device.Id,
                Height    = Convert.ToDouble(payload.Height),
                Speed     = Convert.ToDouble(payload.Speed),
                Latitude  = Convert.ToDouble(payload.Latitude),
                Longitude = Convert.ToDouble(payload.Longitude),
                LogDate   = payload.LogDate
            };

            await _logRepository.AddAndSaveAsync(log);
        }
Beispiel #2
0
 public Task <IActionResult> Create([FromBody] GeoloacationPayload payload)
 {
     return(RunDefaultAsync(async() =>
     {
         await _geolocationBusiness.CreateAsync(payload);
         return Ok();
     }));
 }