public async Task <IActionResult> GetDriverTripRoute(Guid tripHistoryId) { var trip = await _tripsRepository.GetTripHistory(tripHistoryId); if (trip == null) { return(NotFound()); } var driverId = User.Claims.FirstOrDefault(c => c.Type == Helpers.Constants.Strings.JwtClaimIdentifiers.DriverId)?.Value; if (trip.DriverId != Guid.Parse(driverId)) { return(StatusCode(403)); } var tripRoute = await _tripsRepository.GetTripRouteNodes(tripHistoryId); var routesDto = new List <RouteNodeDto>(); foreach (var r in tripRoute) { routesDto.Add(Mapper.Map <RouteNodeDto>(r)); } return(Ok(routesDto)); }
public async Task <IActionResult> GetPaymentById(Guid tripHistoryId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var history = await _tripsRepository.GetTripHistory(tripHistoryId); if (history == null) { return(NotFound()); } var customer = _usersRepository.GetCustomerById(history.CustomerId); var payment = await Payment.GetById((ulong)history.ContractId, new User() { PrivateKey = customer.Identity.PrivateKey }, ModelState); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(Ok(payment)); }