public async Task <FlightReservationModel> Edit([FromBody] FlightReservationModel reservation) { if (ModelState.IsValid) { //IsReservationValidQuery isReservationValidQuery = new IsReservationValidQuery(reservation); //var isValid = await _mediator.Send(isReservationValidQuery); if (true) { try { UpdateReservationCommand updateReservationCommand = new UpdateReservationCommand(reservation); var result = await _mediator.Send(updateReservationCommand); reservation.ReturnResult = String.Join("/n", result.Errors); return(reservation); } catch (MyValidationException ve) { System.Diagnostics.Debug.WriteLine(ve.Failures); reservation.ReturnResult = ve.FailuresMessage.ToString(); return(reservation); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } } reservation.ReturnResult = "Model State Not Valid"; return(reservation); }
public async Task Purchase(FlightReservationModel flight, CancellationToken cancellationToken) { string cartId = _cartCookieProvider.GetCartCookie(); var updatedCart = await _cartDataProvider.UpsertCartFlights(cartId, flight.SelectedDepartingFlight, flight.SelectedReturningFlight, cancellationToken); if (string.IsNullOrEmpty(cartId)) { _cartCookieProvider.SetCartCookie(updatedCart.Id); } }
public async Task <FlightReservationModel> Search(SearchModel searchRequest, CancellationToken cancellationToken) { FlightReservationModel roundTrip = new FlightReservationModel(); roundTrip.DepartingFlights = await _flightDataProvider.FindFlights(searchRequest.StartLocation, searchRequest.EndLocation, searchRequest.StartDate, THREEHOURSBEFOREORAFTER, cancellationToken); roundTrip.ReturningFlights = await _flightDataProvider.FindFlights(searchRequest.EndLocation, searchRequest.StartLocation, searchRequest.EndDate, THREEHOURSBEFOREORAFTER, cancellationToken); if (searchRequest.IsTest) { roundTrip.SelectedDepartingFlight = roundTrip.DepartingFlights.Skip(TestSettings.random.Next(roundTrip.DepartingFlights.Count() - 1)).First().Id; } if (searchRequest.IsTest) { roundTrip.SelectedReturningFlight = roundTrip.ReturningFlights.Skip(TestSettings.random.Next(roundTrip.ReturningFlights.Count() - 1)).First().Id; } return(roundTrip); }
public async Task <ActionResult> Purchase(FlightReservationModel flight, CancellationToken cancellationToken) { await _flightsController.Purchase(flight, cancellationToken); return(RedirectToAction("Index", "Cart")); }
public async Task <Object> LoadReservations(string username, string loadType) { var userI = await _userManager.FindByNameAsync(username); if (userI == null) { return(NotFound("Loading failed. Server not found user in data base.")); } List <long> ticketsID = new List <long>(); var ticketUsers = _context.UserTickets; foreach (var tu in ticketUsers) { if (tu.UserName.ToString().Equals(userI.Id)) { ticketsID.Add(tu.TicketID); } } List <FlightReservationModel> flightReservations = new List <FlightReservationModel>(); var allTickets = _context.Tickets.Include(f => f.Flight); for (int i = 0; i < ticketsID.Count; i++) { foreach (var ticket in allTickets) { // nasao sam tam tiket sa tim id-jem if (ticket.TicketID == (int)ticketsID[i]) { if (loadType.Equals("active")) { if ((ticket.Flight.StartTime - DateTime.Now).TotalHours >= 3) { // trebaju mi samo oni aktivni tj oni koji mogu da se otkazu FlightReservationModel newReservation = new FlightReservationModel() { TicketID = ticket.TicketID.ToString(), StartTime = ticket.Flight.StartTime.ToString(), EndTime = ticket.Flight.EndTime.ToString(), StartLocation = ticket.Flight.StartLocation, EndLocation = ticket.Flight.EndLocation, TicketNumber = ticket.TicketNumber.ToString() }; if (ticket.CardType == CardType.ECONOMIC_CLASS) { newReservation.TicketType = "ECONOMIC_CLASS"; } else if (ticket.CardType == CardType.FIRST_CLASS) { newReservation.TicketType = "FIRST_CLASS"; } else { newReservation.TicketType = "BUSINESS_CLASS"; } flightReservations.Add(newReservation); } } else { if ((ticket.Flight.StartTime - DateTime.Now).TotalHours < 3) { // trebaju mi samo oni koji vise ne mogu da se otkazu FlightReservationModel newReservation = new FlightReservationModel() { TicketID = ticket.TicketID.ToString(), StartTime = ticket.Flight.StartTime.ToString(), EndTime = ticket.Flight.EndTime.ToString(), StartLocation = ticket.Flight.StartLocation, EndLocation = ticket.Flight.EndLocation, TicketNumber = ticket.TicketNumber.ToString() }; if (ticket.CardType == CardType.ECONOMIC_CLASS) { newReservation.TicketType = "ECONOMIC_CLASS"; } else if (ticket.CardType == CardType.FIRST_CLASS) { newReservation.TicketType = "FIRST_CLASS"; } else { newReservation.TicketType = "BUSINESS_CLASS"; } flightReservations.Add(newReservation); } } break; } } } if (flightReservations.Count == 0) { return(NotFound("Loading failed. User not have any active flight reservation.")); } return(Ok(flightReservations)); }
public IsReservationValidQuery(FlightReservationModel flightReservationModel) { FlightReservationModel = flightReservationModel; }
public UpdateReservationCommand(FlightReservationModel flightReservationModel) { FlightReservationModel = flightReservationModel; }
public bool DateCheck(FlightReservationModel flightReservationModel) { var result = flightReservationModel.DateTo > flightReservationModel.DateFrom; return(result); }