public IHttpActionResult Create(FlightRequestModel flight) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var flightToAdd = Mapper.Map <LegInstance>(flight); var addedFlightId = this.legInstancesServices.AddLegInstance(flightToAdd); return(this.Ok(addedFlightId)); }
public override async Task <DefaultResponse> AddFlight(FlightRequestModel request, ServerCallContext context) { var result = new DefaultResponse(); try { var aircraft = await _hangarProxy.GetAircraft(request.Aircraft); if (string.IsNullOrEmpty(aircraft?.LicensePlate)) { result.Message = aircraft.Message; return(result); } var airports = await _airportProxy.GetAllAirports(); if (!airports.Where(x => x.City == request.Source).Any()) { result.Message = $"There is no connection with the airport in {request.Source}"; return(result); } if (!airports.Where(x => x.City == request.Target).Any()) { result.Message = $"There is no connection with the airport in {request.Target}"; return(result); } var flightRoute = await _airlineRepository.GetFligthRoute(airports.Where(x => x.City == request.Source).FirstOrDefault().Id, airports.Where(x => x.City == request.Target).FirstOrDefault().Id); if (flightRoute == null) { result.Message = $"There is no air route between {request.Source} and {request.Target}"; return(result); } var flight = new FlightRaw() { Aircraft = request.Aircraft, FligthRoute = flightRoute.Id, State = request.State }; _airlineRepository.AddFligth(flight); } catch (Exception ex) { _logger.LogError(ex, $"ERROR: Adding Flight"); } return(result); }
public async Task <PartialViewResult> LoadRequestToChangeStatus(Guid?id) { var task = await Task.Factory.StartNew <FlightRequestModel>(() => { var request = _flightRequestService.FindById(id.Value).Result; var result = new FlightRequestModel() { Id = request.Id, From = request.From.Email, To = request.To.Email, Message = request.Message, Date = request.SendTime, Status = request.Status.ToString() }; return(result); }); return(PartialView("AdminRequestView", task)); }
public ActionResult SendRequest(FlightRequestModel flightRequestModel) { if (ModelState.IsValid) { var userFrom = _userManager.FindByEmailAsync(flightRequestModel.From).Result; var userTo = _userManager.FindByEmailAsync(flightRequestModel.To).Result; if (userTo == null) { ModelState.AddModelError("To", "Administrator not found."); } else if (!_userManager.IsInRoleAsync(userFrom.Id, "Dispatcher").Result) { ModelState.AddModelError("From", "Sender is not Dispatcher"); } else if (!_userManager.IsInRoleAsync(userTo.Id, "Administrator").Result) { ModelState.AddModelError("To", "Recipient is not Administrator"); } else { var result = _flightRequestService.Create(userFrom.Email, userTo.Email, flightRequestModel.Message); if (result.Status == AnswerStatus.Success) { return(RedirectToAction("Messages")); } else { foreach (var error in result.Errors) { ModelState.AddModelError(error.Key, error.Value); } } } } var requests = GenereteRequestList(); return(View("Messages", requests)); }