public IHttpActionResult DispatcherProcessRide(ProcessRideRequestModel rideProcessRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } string hash = Thread.CurrentPrincipal.Identity.Name; Ride rideToProcess = _unitOfWork.RideRepository.FilterRidesIncludeAll(r => r.Id == rideProcessRequest.RideId).FirstOrDefault(); rideToProcess.RideStatus = (int)RideStatus.PROCESSED; rideToProcess.DriverId = rideProcessRequest.DriverId; rideToProcess.DispatcherId = rideProcessRequest.DispatcherId; _unitOfWork.RideRepository.Update(rideToProcess); _unitOfWork.Complete(); return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult DriverTakeOverRide(ProcessRideRequestModel driverTakeOverRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } string hash = Thread.CurrentPrincipal.Identity.Name; Ride rideToProcess = _unitOfWork.RideRepository.FilterRidesIncludeAll(r => r.Id == driverTakeOverRequest.RideId).FirstOrDefault(); rideToProcess.RideStatus = (int)RideStatus.ACCEPTED; rideToProcess.DriverId = driverTakeOverRequest.DriverId; _unitOfWork.RideRepository.Update(rideToProcess); _unitOfWork.Complete(); rideToProcess = _unitOfWork.RideRepository.FilterRidesIncludeAll(r => r.Id == rideToProcess.Id).FirstOrDefault(); RideDto takenRide = _iMapper.Map <Ride, RideDto>(rideToProcess); return(Ok(takenRide)); }