Exemplo n.º 1
0
        public void InsertOrUpdate(Flight flight)
        {
            if (flight.OnBlock.HasValue && flight.OffBlock.HasValue) {
                flight.FlightTimeTicks = (flight.OnBlock.Value - flight.OffBlock.Value).Ticks;
            } else {
                flight.FlightTimeTicks = null;
            }

            if (flight.ID == default(int)) {
                // New entity
                context.Flight.Add(flight);
            } else {
                // Existing entity
                context.Flight.Attach(flight);
                context.Entry(flight).State = EntityState.Modified;
            }
        }
Exemplo n.º 2
0
        public ActionResult Book(FlightsBook viewModel)
        {
            Connection conn = connectionRepository.Find(viewModel.Connection.ID);

            Flight bookedFlight = new Flight();

            bookedFlight.AircraftTypeICAO = viewModel.AircraftTypeICAO;
            bookedFlight.AirlineICAO = conn.AirlineICAO;
            bookedFlight.BookedOn = DateTime.UtcNow;
            bookedFlight.DepartureAirportICAO = conn.DepartureAirportICAO;
            bookedFlight.DestinationAirportICAO = conn.DestinationAirportICAO;
            // TODO maybe change to prefix and id seperated
            bookedFlight.FlightNumber = conn.Name;
            bookedFlight.UserID = UserContext.GetCurrent().ID;

            flightRepository.InsertOrUpdate(bookedFlight);
            flightRepository.Save();

            if (viewModel.Option == 1 || viewModel.Option == 2) {

                Rotation rotation;

                if(viewModel.Option == 1) {
                    rotation = new Rotation();
                    rotation.Name = viewModel.NewRotationName;
                    rotation.Flights = new List<Flight>();
                    rotation.UserID = UserContext.GetCurrent().ID;

                } else {
                    rotation = rotationRepository.AllIncluding(m => m.Flights).Single(t => t.ID == viewModel.RotationID.Value);
                }

                rotation.Flights.Add(bookedFlight);

                rotationRepository.InsertOrUpdate(rotation);
                rotationRepository.Save();
            }

            return RedirectToAction("BookingSaved", new { id = conn.ID });
        }
Exemplo n.º 3
0
 public ActionResult Edit(Flight flight)
 {
     if (ModelState.IsValid) {
         flightRepository.InsertOrUpdate(flight);
         flightRepository.Save();
         return RedirectToAction("Index");
     } else {
         ViewBag.PossibleUser = userRepository.All;
         ViewBag.PossibleApprovedByUser = userRepository.All;
         return View();
     }
 }