private void LoadWindow() { try { context = new BadmintonContext(); //if (!TestConnection()) // throw new Exception(); context.Tournaments.Load(); TournamentsList = new BindingList <Tournament>(); TournamentsList = context.Tournaments.Local.ToBindingList(); tournamentsListView.ItemsSource = TournamentsList; context.Cities.Load(); context.Judges.Load(); cmbBoxCities.ItemsSource = context.Cities.Local.OrderBy(p => p.CityName).ToList(); cmbBoxJudges.ItemsSource = context.Judges.Local.OrderBy(p => p.JudgeLastName).ToList(); } catch (Exception e) { waitWindow.Close(); waitWindow = null; MessageBox.Show("Не удалось подключитсья к базе данных. Проверьте интернет соединение", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); Close(); } if (waitWindow != null) { waitWindow.Close(); } }
public JudgesAdd(BadmintonContext context) { InitializeComponent(); Context = context; Context.Cities.Load(); cmBoxCity.ItemsSource = Context.Cities.Local.ToBindingList(); }
static void Main(string[] args) { try { // Стратегия работы с базой данных Database.SetInitializer(new DropCreateDatabaseAlways <BadmintonContext>()); var cities = new List <City>() { new City() { CityName = "Kharkov" } }; using (var context = new BadmintonContext()) { cities.ForEach(c => context.Cities.Add(c)); context.SaveChanges(); } Console.WriteLine("База данных на SQL Server создана"); } catch (System.Exception ex) { Console.WriteLine("База данных не создана. \n Ошибка:\n " + ex.ToString()); } Console.WriteLine("Нажмите любую клавишу, чтобы выйти..."); Console.ReadKey(); }
public EventList(BadmintonContext context, BindingList <Event> bindingListEvents) { InitializeComponent(); AddedEvents = new List <Event>(); EventsList = bindingListEvents; Context = context; }
public Seed(BadmintonContext context, Event selectedEvent) { InitializeComponent(); Context = context; SelectedEvent = selectedEvent; TeamsLoad(); gridPlayers.RowBackground = new SolidColorBrush(Colors.Transparent); }
public CoachAdd() { InitializeComponent(); context = new BadmintonContext(); context.Cities.Load(); cmbBoxCity.ItemsSource = context.Cities.Local.OrderBy(p => p.CityName).ToList(); context.Clubs.Load(); cmbBoxClub.ItemsSource = context.Clubs.Local.OrderBy(p => p.ClubName).ToList(); }
public Cities(BadmintonContext context) { InitializeComponent(); Context = context; Context.Cities.Load(); CitiesList = new BindingList <City>(); CitiesList = Context.Cities.Local.ToBindingList(); citiesListBox.ItemsSource = CitiesList; }
public TournamentAdd() { InitializeComponent(); context = new BadmintonContext(); context.Cities.Load(); context.Judges.Load(); cmbBoxCities.ItemsSource = context.Cities.Local.OrderBy(p => p.CityName).ToList(); cmbBoxJudges.ItemsSource = context.Judges.Local.OrderBy(p => p.JudgeLastName).ToList(); }
public Grades(BadmintonContext context) { InitializeComponent(); Context = context; Context.Grades.Load(); GradesList = new BindingList <Grade>(); GradesList = Context.Grades.Local.ToBindingList(); gradesListBox.ItemsSource = GradesList; }
public Unions() { InitializeComponent(); context = new BadmintonContext(); context.Unions.Load(); UnionsList = new BindingList <Union>(); UnionsList = context.Unions.Local.ToBindingList(); unionsListBox.ItemsSource = UnionsList; }
public ReportFormer(Tournament tournament) { Context = new BadmintonContext(); Tournament = tournament; int id = Tournament.TournamentId; Context.TeamsTournaments.Where(p => p.Event.TournamentId == id).Load(); Context.PlayersTeams.Where(p => p.TeamsTournament.Event.TournamentId == id).Load(); Context.Players.Load(); }
public EventAdd() { InitializeComponent(); context = new BadmintonContext(); context.Types.Load(); context.Categories.Load(); cmbBoxCountDraw.ItemsSource = new EventListHelper().DrawsType; cmbBoxCategory.ItemsSource = context.Categories.Local.OrderBy(p => p.CategoryName).ToList(); cmbBoxType.ItemsSource = context.Types.Local.ToList(); }
public ReportChooser(BadmintonContext context, Tournament tournament, EventsHelper eventsHelper) { InitializeComponent(); Context = context; Tournament = tournament; Context.Categories.Load(); Context.Events.Where(p => p.TournamentId == Tournament.TournamentId).Load(); CategoriesList = new BindingList <Category>(eventsHelper.EventsList.Where(p => p.TournamentId == Tournament.TournamentId).Select(p => p.Category).Distinct().ToList()); lstBoxReports.ItemsSource = CategoriesList; }
public Clubs() { InitializeComponent(); context = new BadmintonContext(); context.Clubs.Load(); ClubsList = new BindingList <Club>(); ClubsList = context.Clubs.Local.ToBindingList(); clubsListBox.ItemsSource = ClubsList; context.Cities.Load(); cmbBoxAddCity.ItemsSource = context.Cities.Local.OrderBy(p => p.CityName).ToList(); cmbBoxSelectedCity.ItemsSource = context.Cities.Local.OrderBy(p => p.CityName).ToList(); }
public CoachesList(BadmintonContext context) { InitializeComponent(); Context = context; Context.Coaches.Load(); CoachList = new BindingList <Coach>(); CoachList = Context.Coaches.Local.ToBindingList(); coachesListView.ItemsSource = CoachList; Context.Cities.Load(); cmbBoxCity.ItemsSource = Context.Cities.Local.OrderBy(p => p.CityName).ToList(); Context.Clubs.Load(); cmbBoxClub.ItemsSource = Context.Clubs.Local.OrderBy(p => p.ClubName).ToList(); }
/* Adds player to ActivePlayers table */ public static void AddActivePlayer(Player model, BadmintonContext db) { if (db.ActivePlayers.SingleOrDefault(x => x.PlayerID == model.ID) == null) { ActivePlayer newPlayer = new ActivePlayer(); newPlayer.OnCourt = false; newPlayer.PlayerID = model.ID; newPlayer.Waits = 0; newPlayer.GamesPlayed = 0; db.ActivePlayers.Add(newPlayer); db.SaveChanges(); } }
/* Updates player view model * when a player is assigned to a court */ public static void UpdatePlayerOnCourt(Player player, BadmintonContext context) { var id = player.ID; player.Waits = 0; player.OnCourt = true; player.GamesPlayed++; ActivePlayer updated = context.ActivePlayers.Single(x => x.PlayerID == id); updated.Waits = 0; updated.OnCourt = true; updated.GamesPlayed++; context.SaveChanges(); }
/* Assigns every player to be off court * Assigns new players to courts */ public static void Rotate(BadmintonContext db, List <Player> players, TimeSlot ts) { foreach (var p in db.ActivePlayers) { p.OnCourt = false; db.SaveChanges(); } List <ActivePlayer> temp = db.ActivePlayers.ToList(); foreach (var i in temp) { players.Add(PlayerHelper.ActivePlayertoPlayer(i, db)); } MakeTimeSlot(ts, players, db); }
public PlayerAdd() { InitializeComponent(); context = new BadmintonContext(); context.Cities.Load(); context.Grades.Load(); context.Coaches.Load(); context.Clubs.Load(); context.Unions.Load(); cmbBoxCity.ItemsSource = context.Cities.OrderBy(p => p.CityName).ToList(); cmbBoxClub.ItemsSource = context.Clubs.OrderBy(p => p.ClubName).ToList(); cmbBoxGrade.ItemsSource = context.Grades.OrderBy(p => p.GradeName).ToList(); cmbBoxUnion.ItemsSource = context.Unions.OrderBy(p => p.UnionName).ToList(); cmbBoxCoach.ItemsSource = context.Coaches.OrderBy(p => p.CoachName).ToList(); }
public PlayerEdit(BadmintonContext context, Player selectedPlayer) { InitializeComponent(); Context = context; SelectedPlayer = selectedPlayer; DataContext = SelectedPlayer; Context.Cities.Load(); Context.Grades.Load(); Context.Coaches.Load(); Context.Clubs.Load(); Context.Unions.Load(); cmbBoxCity.ItemsSource = Context.Cities.OrderBy(p => p.CityName).ToList(); cmbBoxClub.ItemsSource = Context.Clubs.OrderBy(p => p.ClubName).ToList(); cmbBoxGrade.ItemsSource = Context.Grades.OrderBy(p => p.GradeName).ToList(); cmbBoxUnion.ItemsSource = Context.Unions.OrderBy(p => p.UnionName).ToList(); cmbBoxCoach.ItemsSource = Context.Coaches.OrderBy(p => p.CoachName).ToList(); }
public static Player ActivePlayertoPlayer(ActivePlayer activePlayer, BadmintonContext db) { Player player = new Player(); PlayerModels model = db.Players.SingleOrDefault(x => x.ID == activePlayer.PlayerID); player.ID = model.ID; player.FirstName = model.FirstName; player.LastName = model.LastName; player.Paid = model.Paid; player.Level = model.Level; player.Preference = model.Preference; player.EnrollmentDate = model.EnrollmentDate; player.OnCourt = activePlayer.OnCourt; player.Active = model.Active; player.Waits = activePlayer.Waits; player.GamesPlayed = activePlayer.GamesPlayed; return(player); }
public DoublesAdd(BadmintonContext context, Event selectedEvent, Player player, TornamentPlayersHelper tornamentPlayersHelper) { InitializeComponent(); Context = context; CurrentPlayer = player; TitleChanger(player, selectedEvent); TornamentPlayersHelper = tornamentPlayersHelper; PlayersHelper = new PlayersHelper(Context); PlayersHelper.PlayersLoad(); SelectedEvent = selectedEvent; if (!SelectedEvent.Type.TypeName.Equals("Микст")) { playersListView.ItemsSource = PlayersHelper.EventSelectionChangedPlayers(SelectedEvent).Where(p => p.PlayerSurName != player.PlayerSurName && p.PlayerName != player.PlayerName); } else if (player.Sex.Equals("Мужской")) { playersListView.ItemsSource = PlayersHelper.EventSelectionChangedPlayers(SelectedEvent).Where(p => p.Sex.Equals("Женский")); } else { playersListView.ItemsSource = PlayersHelper.EventSelectionChangedPlayers(SelectedEvent).Where(p => p.Sex.Equals("Мужской")); } }
public MainPage(Tournament tournament) { WaitWindow waitWindow = new WaitWindow(); waitWindow.Show(); InitializeComponent(); CurrentTournament = tournament; Nums = new Nums(); Context = new BadmintonContext(); ListPage = new ListPage(this); changerFrame.Navigate(ListPage); #region LoadContext Context.Cities.Load(); Context.Grades.Load(); Context.Clubs.Load(); Context.Coaches.Load(); Context.Unions.Load(); Context.TeamsTournaments.Load(); Context.PlayersTeams.Load(); #endregion TornamentPlayersHelper = new TornamentPlayersHelper(Context, CurrentTournament); EventsHelper = new EventsHelper(Context, CurrentTournament); PlayersHelper = new PlayersHelper(Context); Context.Configuration.AutoDetectChangesEnabled = true; EventsHelper.EventsLoad(); PlayersHelper.PlayersLoad(); TornamentPlayersHelper.TeamTournamentsLoad(); eventsListBox.ItemsSource = EventsHelper.EventsList; DrawsPage = new DrawsPage(this); if (eventsListBox.Items.Count > 0) { eventsListBox.SelectedIndex = 0; } waitWindow.Close(); }
public MemberController(BadmintonContext context) { _context = context; }
/* Creates a TimeSlot using a list of activeplayers * Assigns players on Courts based on wait-time(primary factor) and level of player * Time of arrival is automatically taken care of * Algorithm: * 1.Get a players with the highest wait-time * 2.Get players with the same level as the player in 1. * 3.Assign the players to a court * 4.If not enough players in that player's level or the wait-time difference is greater than 2, * find players with the highest wait-time in other levels * 5.Repeat 1-4 until all courts are filled * 6.Update the players on the court to "on court" and reset their wait-time to zero * 7.Increment the wait-time of the off court players by 1 * The ActivePlayersTable is updated afterwards */ public static void MakeTimeSlot(TimeSlot ts, List <Player> players, BadmintonContext context) { Random random = new Random(); int numOfCourts = TimeSlot.getNumOfCourts(); List <List <Player> > playergrid = new List <List <Player> >(); List <int> onCourtIDs = new List <int>(); int numOfLevels = 5; int count; int lvl; for (int i = 0; i < numOfLevels; i++) { playergrid.Add(new List <Player>()); } for (int j = 0; j < players.Count; j++) { playergrid[players.ElementAt(j).Level - 1].Add(players.ElementAt(j)); } for (int i = 0; i < numOfCourts; i++) { Court court = new Court(); count = 0; players = players.OrderByDescending(x => x.Waits).ToList(); for (int j = 0; j < players.Count; j++) { if (count >= Court.intGetNumOfPlayersOnCourt()) { break; } lvl = players.ElementAt(j).Level - 1; playergrid[lvl] = playergrid[lvl].OrderByDescending(x => x.Waits).ToList(); for (int k = 0; k < playergrid[lvl].Count; k++) { if (count >= Court.intGetNumOfPlayersOnCourt()) { break; } if (playergrid[lvl][k].OnCourt == false) { PlayerHelper.UpdatePlayerOnCourt(playergrid[lvl][k], context); court.addPlayer(playergrid[lvl][k]); count++; } } if (count < Court.intGetNumOfPlayersOnCourt()) { lvl++; if (lvl < 5) { playergrid[lvl] = playergrid[lvl].OrderByDescending(x => x.Waits).ToList(); for (int k = 0; k < playergrid[lvl].Count; k++) { if (count >= Court.intGetNumOfPlayersOnCourt()) { break; } if (playergrid[lvl][k].OnCourt == false) { PlayerHelper.UpdatePlayerOnCourt(playergrid[lvl][k], context); court.addPlayer(playergrid[lvl][k]); count++; } } } if (count < Court.intGetNumOfPlayersOnCourt()) { lvl = lvl - 2; if (lvl >= 0) { playergrid[lvl] = playergrid[lvl].OrderByDescending(x => x.Waits).ToList(); for (int k = 0; k < playergrid[lvl].Count; k++) { if (count >= Court.intGetNumOfPlayersOnCourt()) { break; } if (playergrid[lvl][k].OnCourt == false) { PlayerHelper.UpdatePlayerOnCourt(playergrid[lvl][k], context); court.addPlayer(playergrid[lvl][k]); count++; } } } } } } ts.addCourt(court); } for (int q = 0; q < playergrid.Count; q++) { for (int p = 0; p < playergrid[q].Count; p++) { if (playergrid[q][p].OnCourt == false) { playergrid[q][p].Waits++; //update every player's wait times } } } foreach (var p in players) { if (p.OnCourt == false) { ActivePlayer updated = context.ActivePlayers.Single(x => x.PlayerID == p.ID); updated.Waits++; context.SaveChanges(); } } }
public BookingController(BadmintonContext context) { _context = context; }
public CourtController(BadmintonContext context) { _context = context; }
public TornamentPlayersHelper(BadmintonContext context, Tournament current) { Context = context; CurrentTournament = current; }
public PlayersHelper(BadmintonContext context) { Context = context; }
/* Returns a json of players that have * first name or last name that contains input */ public static string GetSearchedPlayersJson(string input, BadmintonContext db) { var json = new JavaScriptSerializer().Serialize(db.Players.Where(x => x.FirstName.Contains(input) || x.LastName.Contains(input))); return(json); }