Example #1
0
        public async Task <ActionResult> RequestFor(FlightRequestCreateViewModel model)
        {
            var driverOperation = await _driverService.GetDriverById(User.Identity.GetUserId());

            var requestedFlightOperation = await _flightService.GetFlightAsync(model.RequestedFlightId);

            model.DriverId = User.Identity.GetUserId();
            model.Status   = FlightRequestStatus.InQueue;

            if (driverOperation.Success && requestedFlightOperation.Success)
            {
                var operation = await _driverService.SendFlightRequest(model.ToDto());

                if (operation.Success)
                {
                    Session["RequestForFlight"] = new AlertViewModel(operation.Message, AlertType.Success);

                    return(RedirectToAction("Index", "Home"));
                }

                return(new HttpOperationStatusResult(operation));
            }

            return(new HttpOperationStatusResult(driverOperation, requestedFlightOperation));
        }
Example #2
0
 public static FlightRequestDto ToDto(this FlightRequestCreateViewModel model)
 {
     return(MapperWEB.Map <FlightRequestCreateViewModel, FlightRequestDto>(model));
 }