private void AddFlight() { Flight flight = new Flight(); if (ErrorsInFlightData(flight)) return; flight.Name = flightName.Text; flight.Capacity = int.Parse(flightCapacity.Text); flight.IsLocked = flightLocked.Checked; flight.FuelConsumed = decimal.Parse(flightFuel.Text); flight.Parent = Planes.Get(int.Parse(flightPlane.SelectedValue)); if (flight.Insert()) { Response.Redirect(Request.RawUrl); return; } }
public static void GenerateFlights(int numberOfFlights) { PlaneCollection planes = Timetable.Planes; List<Details> users = PlaneCollection.Users.ToList(); if(planes.Count == 0) { GeneratePlanes(7); } for (int counter = 0; counter < numberOfFlights; counter++) { Flight flight = new Flight(); flight.Parent = planes[counter % planes.Count]; flight.Name = flight.Parent.Name + ": Lift " + (flight.Parent.Flights.Count + 1); flight.Capacity = flight.Parent.MaxCapacity; flight.FuelConsumed = flight.Parent.FuelAfterPrevFlight; if (flight.Parent.Flights.Count != 0 && flight.Parent.Flights.Last().DepartureTime > DateTime.Now) { // If there are flights not departed yet queue next plane 20 mins after. flight.DepartureTime = flight.Parent.Flights.Last().DepartureTime.AddMinutes(20); } else { flight.DepartureTime = DateTime.Now.AddMinutes(20); } // Insert without db get. flight.Insert(); List<Details> listOfUsers = new List<Details>(users); Random rndUser = new Random(); while (flight.Spaces > 14) { Group group = new Group(); group.GroupType = Group.GroupTypeCollection[new Random().Next(Group.GroupTypeCollection.Count)]; group.StickToFlight = false; group.Created = DateTime.Now; group.Updated = DateTime.Now; group.Insert(flight); for (int userCounter = 0; userCounter < new Random().Next(1, 5); userCounter++) { GroupMember member = new GroupMember( listOfUsers[rndUser.Next(listOfUsers.Count)]); member.KitHire = new Random().Next(2) % 2 == 0; member.Payer = member.UserDetails; group.AddMember(member); listOfUsers.Remove(member.UserDetails); } } } }