public async Task <IActionResult> UpdateLocation([FromBody] VehicleLocationRequest model) { model.Validate(); await _trackingService.UpdateLocation(model); return(Ok()); }
public void AddVehicleLocations(VehicleLocationRequest rece) { using (SqlConnection conn = new SqlConnection(Runbow.TWS.Dao.BaseAccessor._dataBase.ConnectionString)) { SqlCommand cmd = new SqlCommand("Pro_InsertVehicleLocation", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Vehiclelocation", rece.vehiclelocation.Select(vehiclelocation => new VehicleLocationToDb(vehiclelocation))); cmd.Parameters[0].SqlDbType = SqlDbType.Structured; conn.Open(); cmd.ExecuteNonQuery(); } }
public bool AddVehicleLocations(VehicleLocationRequest request) { try { accessor.AddVehicleLocations(request); return(true); } catch (Exception ex) { LogError(ex); return(false); } }
public async Task UpdateLocation(VehicleLocationRequest model) { var vehicle = _vehicleRepository.FindOneByCondition(x => x.VehicleNumber == model.VehicleNumber && x.IsActive); if (vehicle == null) { throw new VehicleNotFoundException(ErrorCode.E102, model.VehicleNumber); } //Check session was created or not var session = _trackingSessionRepository.FindOneByCondition(x => x.CreatedDate >= DateTime.UtcNow.Date && x.VehicleId == vehicle.Id); if (session == null) { session = new TrackingSession() { VehicleId = vehicle.Id, CreatedDate = DateTime.UtcNow, TrackingRemark = DateTime.UtcNow.ToString("d") }; _trackingSessionRepository.Create(session); await _trackingSessionRepository.SaveAsync(); } //Update Location with this session var location = new TrackingHistory() { TrackingSessionId = session.Id, CreatedDate = DateTime.UtcNow, Lat = model.Latitude, Lon = model.Longitude }; _trackingHistoryRepository.Create(location); await _trackingHistoryRepository.SaveAsync(); }