コード例 #1
0
ファイル: FlightAdmin.aspx.cs プロジェクト: sliplow/Skyline
        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;
            }
        }
コード例 #2
0
ファイル: Generate.aspx.cs プロジェクト: sliplow/Skyline
        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);
                    }
                }
            }
        }