예제 #1
0
        public IHttpActionResult PostFlightRate(string rate, string userId, string flightId)
        {
            FlightRate flightRate = new FlightRate();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                flightRate.Rate     = Convert.ToInt32(rate);
                flightRate.FlightId = Convert.ToInt32(flightId);
                flightRate.UserId   = Convert.ToInt32(userId);
                flightRate.RateDate = DateTime.Now;

                objEntity.FlightRates.Add(flightRate);
                objEntity.SaveChanges();
                var    flightRateID = Convert.ToInt32(flightId);
                Flight flight       = objEntity.Flights.Find(flightRate.FlightId);
                var    listRates    = objEntity.FlightRates.Where(a => a.FlightId == flightRateID).ToList();
                double sum          = 0;
                foreach (var r in listRates)
                {
                    sum += r.Rate;
                }
                //double sum = airline.Rate * airline.RatedBy + rentaCarRate.Rate;
                //rentaCar.RatedBy++;
                flight.Rate = Math.Round((sum / listRates.Count), 2);


                objEntity.SaveChanges();
            }
            catch (Exception)
            {
                throw;
            }

            return(Ok(flightRate));
        }
 public FlightRatePriceChangedEvent(Flight flight, FlightRate flightRate)
 {
     Flight     = flight;
     FlightRate = flightRate;
 }
 public FlightRateAvailabilityChangedEvent(Flight flight, FlightRate flightRate, int mutation)
 {
     Flight     = flight;
     FlightRate = flightRate;
     Mutation   = mutation;
 }