DaprVehicleStateRepository.cs 787 B

12345678910111213141516171819202122232425
  1. namespace TrafficControlService.Repositories;
  2. public class DaprVehicleStateRepository : IVehicleStateRepository
  3. {
  4. private const string DAPR_STORE_NAME = "statestore";
  5. private readonly DaprClient _daprClient;
  6. public DaprVehicleStateRepository(DaprClient daprClient)
  7. {
  8. _daprClient = daprClient;
  9. }
  10. public async Task SaveVehicleStateAsync(VehicleState vehicleState)
  11. {
  12. await _daprClient.SaveStateAsync<VehicleState>(
  13. DAPR_STORE_NAME, vehicleState.LicenseNumber, vehicleState);
  14. }
  15. public async Task<VehicleState?> GetVehicleStateAsync(string licenseNumber)
  16. {
  17. var stateEntry = await _daprClient.GetStateEntryAsync<VehicleState>(
  18. DAPR_STORE_NAME, licenseNumber);
  19. return stateEntry.Value;
  20. }
  21. }