public async Task <IActionResult> PostAvioRate(long id, [FromBody] AvioFlightRatingDTO model) { if (ModelState.IsValid) { FlightReservation flightReser = await _reservationService.GetFlightReservationById(id); Flight flight = await _flightService.GetFlight(flightReser.FlightId); RegularUser user = await _userService.GetCurrentUser(); AvioCompanyRating acRate = new AvioCompanyRating(); acRate.AvioCompanyId = flight.AvioCompanyId; acRate.FlightReservationId = id; acRate.UserId = user.Id; acRate.Rate = model.ratingAvioCompany; FlightRating flightRate = new FlightRating(); flightRate.FlightId = flight.FlightId; flightRate.FlightReservationId = id; flightRate.Rate = model.ratingFlight; flightRate.UserId = user.Id; await _userService.AddAvioRating(acRate); await _userService.AddFlightRating(flightRate); return(Ok(200)); } return(BadRequest()); }
public async Task <object> RateReservation(FlightRating flightRating) { //var flight = (await _context.Flight.ToListAsync()).FirstOrDefault(f => f.Id == flightRating.FlightId); var reservation = (await _context.Reservation.ToListAsync()).FirstOrDefault(r => r.Id == flightRating.ReservationId); var flight = reservation.AirlineReservation.Flight; var rating = new FlightRating() { Rating = flightRating.Rating, ReservationId = reservation.Id, UserEmail = flightRating.UserEmail }; try { flight.RateSum = flight.RateSum + flightRating.Rating; flight.RateNo = flight.RateNo + 1; flight.Rating = (double)flight.RateSum / flight.RateNo; reservation.AirlineReservation.Rating = flightRating.Rating; await _context.SaveChangesAsync(); } catch (Exception e) { Trace.WriteLine(e.Message); return(HttpStatusCode.BadRequest); } await _context.FlightRating.AddAsync(rating); await _context.SaveChangesAsync(); return(rating); }
public async Task AddFlightRating(FlightRating fr) { await _context.FlightRatings.AddAsync(fr); await _context.SaveChangesAsync(); }
public async Task <object> RateReservation(FlightRating reservation) { return(await _reservationService.RateReservation(reservation)); }
public async Task AddFlightRating(FlightRating fr) { await _userRepository.AddFlightRating(fr); }