public async Task <IActionResult> UpdateTotalTime(int id, [FromBody] SaveServiceRequestResource resources) { var serviceRequest = await _repository.GetServiceRequestDetails(id); if (serviceRequest == null) { return(NotFound()); } serviceRequest.TotalTime = resources.TotalTime; serviceRequest.OnRide = false; await _unitOfWork.CompleteAsync(); //after completing ride service complete the ride and status should be changed var serviceInfo = await _serviceRepository.GetServiceAsync(serviceRequest.ServiceId); serviceInfo.IsOnRide = false; await _unitOfWork.CompleteAsync(); var result = _mapper.Map <ServiceRequest, SaveServiceRequestResource>(serviceRequest); return(Ok(result)); }
public async Task <IActionResult> UpdateOnRide(int id, [FromBody] SaveServiceRequestResource resources) { var serviceRequest = await _repository.GetServiceRequestDetails(id); if (serviceRequest == null) { return(NotFound()); } serviceRequest.IsPending = false; serviceRequest.IsApproved = true; serviceRequest.OnRide = true; serviceRequest.CheckInStartTime = resources.CheckInStartTime; await _unitOfWork.CompleteAsync(); //Update service for this service request as that service is on ride var serviceInfo = await _serviceRepository.GetServiceAsync(serviceRequest.ServiceId); serviceInfo.IsOnRide = true; await _unitOfWork.CompleteAsync(); var result = _mapper.Map <ServiceRequest, SaveServiceRequestResource>(serviceRequest); return(Ok(result)); }
public async Task <IActionResult> CreateServiceRequest([FromBody] SaveServiceRequestResource serviceRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var request = _mapper.Map <SaveServiceRequestResource, ServiceRequest>(serviceRequest); request.PassengerId = await GetUserId(); request.RequestDate = DateTime.UtcNow; _repository.CreateRideRequest(request); await _unitOfWork.CompleteAsync(); var requestResult = _mapper.Map <ServiceRequest, SaveServiceRequestResource>(request); return(Ok(requestResult)); }