Beispiel #1
0
        public decimal Get(int flighsId)
        {
            Flight           flight           = dbProvider.GetFlight(flighsId);
            RegisteredFlight registeredFlight = dbProvider.GetRigisteredFlight(flighsId, user.Id);

            return(DiscountUtil.GetPriceWithDiscount(flight, registeredFlight, user.statusUser));
        }
Beispiel #2
0
 public static decimal GetPriceWithDiscount(Flight flight, RegisteredFlight registeredFlight, StatusUser status)
 {
     return((decimal)(1 - (CalculateCoeffForDiscountDependOnDistance(flight) + CalculateCoeffForDiscountDependOnBookinge(flight, registeredFlight) + CalculateCoeffForDiscountDepentOfStatusUser(status))) * flight.Price);
 }
Beispiel #3
0
        private static double CalculateCoeffForDiscountDependOnBookinge(Flight flight, RegisteredFlight registeredFlight)
        {
            if (registeredFlight == null)
            {
                return(0);
            }

            double   coffForDiscount   = 0;
            DateTime dateFlight        = flight.DateFlight;
            DateTime dateBookingFlight = registeredFlight.DataOfBooking;

            if (dateBookingFlight.AddDays(30) < dateFlight)
            {
                coffForDiscount = 0.05;
            }
            else
            {
                coffForDiscount = 0;
            }
            return(coffForDiscount);
        }
Beispiel #4
0
        public RegisteredFlight GetRigisteredFlight(int flightId, string userId)
        {
            RegisteredFlight registeredFlight = db.RegisteredFlights.FirstOrDefault(rFl => rFl.Flight.FlightId == flightId && rFl.ApplicationUser.Id == userId);

            return(registeredFlight);
        }