示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }