소스 검색

Добавлен прототип автоподстановки команд для следующих матчей

максим карбышев 3 년 전
부모
커밋
35abfbeea2

+ 8 - 0
CybersportTournament/AddWindows/AddMatchWindow.xaml.cs

@@ -32,6 +32,14 @@ namespace CybersportTournament.AddWindows
             TournamentBox.ItemsSource = Connection.db.Tournaments.Where(item => item.ID == TournamentID).Select(item => item.Name).ToList();
             TournamentBox.SelectedIndex = 0;
         }
+        public AddMatchWindow(int TournamentID, List<int> teams)
+        {
+            InitializeComponent();
+            TeamOneBox.ItemsSource = Connection.db.Teams.Where(item => teams.Contains(item.ID)).Select(item => item.Name).ToList();
+            TeamTwoBox.ItemsSource = Connection.db.Teams.Where(item => teams.Contains(item.ID)).Select(item => item.Name).ToList();
+            TournamentBox.ItemsSource = Connection.db.Tournaments.Where(item => item.ID == TournamentID).Select(item => item.Name).ToList();
+            TournamentBox.SelectedIndex = 0;
+        }
 
         private void TeamOneBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
         {

+ 2 - 2
CybersportTournament/ElementsWindows/TournamentWindow.xaml

@@ -40,10 +40,10 @@
             Foreground="#FF54E4FF" HorizontalContentAlignment="Center" MouseDoubleClick="FoMatchMouseDoubleClick"/>
         <Polyline Stroke="White" Points="0,30, 75,30 75,0 150,0" Height="30" Width="150" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="329,682,0,0"/>
         <Label x:Name="FiMatchFTeam" Content="" HorizontalAlignment="Left" Margin="480,300,0,0" VerticalAlignment="Top" Width="250" Height="45" FontSize="25" 
-            Foreground="#FF54E4FF" HorizontalContentAlignment="Center"/>
+            Foreground="#FF54E4FF" HorizontalContentAlignment="Center" MouseDoubleClick="FiMatchMouseDoubleClick"/>
         <Polyline Stroke="White" Points="0,0, 75,0 75,60 150,60" Height="60" Width="150" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="732,322,0,0"/>
         <Label x:Name="FiMatchSTeam" Content="" HorizontalAlignment="Left" Margin="480,0,0,0" VerticalAlignment="Center" Width="250" Height="45" FontSize="25" 
-            Foreground="#FF54E4FF" HorizontalContentAlignment="Center"/>
+            Foreground="#FF54E4FF" HorizontalContentAlignment="Center" MouseDoubleClick="FiMatchMouseDoubleClick"/>
         <Polyline Stroke="White" Points="0,60, 75,60 75,0 150,0" Height="60" Width="150" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="732,382,0,0"/>
         <Label x:Name="SiMatchFTeam" Content="" HorizontalAlignment="Left" Margin="480,540,0,0" VerticalAlignment="Top" Width="250" Height="45" FontSize="25" 
             Foreground="#FF54E4FF" HorizontalContentAlignment="Center"/>

+ 27 - 0
CybersportTournament/ElementsWindows/TournamentWindow.xaml.cs

@@ -6,6 +6,7 @@ using ConnectionClass;
 using CybersportTournament.ListWindows;
 using CybersportTournament.AddWindows;
 using System.Windows.Controls;
+using System.Collections.Generic;
 
 namespace CybersportTournament.ElementsWindows
 {
@@ -59,6 +60,7 @@ namespace CybersportTournament.ElementsWindows
 
         private void FMatchMouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
         {
+            #region Переход на матчи четвертьфинала
             if (FMatchFTeam.Content.ToString() != "" && FMatchSTeam.Content.ToString() != "")
             {
                 int MatchID = Connection.db.MatchList.Where(item => item.Tournaments.ID == tournament.ID && item.Match.Number == 1).Select(item => item.IDMatch).FirstOrDefault();
@@ -123,6 +125,31 @@ namespace CybersportTournament.ElementsWindows
                 amw.Show();
                 this.Close();
             }
+            #endregion
+        }
+
+        private void FiMatchMouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
+        {
+            if ((FMatchFTeam.Content.ToString() != "" && FMatchSTeam.Content.ToString() != "" 
+                && SMatchFTeam.Content.ToString() !=  "" && SMatchSTeam.Content.ToString() != "") 
+                && (FiMatchFTeam.Content.ToString() == "" && FiMatchSTeam.Content.ToString() == ""))
+            {
+                List<int> teams = new List<int>();
+                teams.Add(Connection.db.Teams.Where(item => item.Name == FMatchFTeam.Content.ToString()).Select(item => item.ID).FirstOrDefault());
+                teams.Add(Connection.db.Teams.Where(item => item.Name == FMatchSTeam.Content.ToString()).Select(item => item.ID).FirstOrDefault());
+                teams.Add(Connection.db.Teams.Where(item => item.Name == SMatchFTeam.Content.ToString()).Select(item => item.ID).FirstOrDefault());
+                teams.Add(Connection.db.Teams.Where(item => item.Name == SMatchSTeam.Content.ToString()).Select(item => item.ID).FirstOrDefault());
+                AddMatchWindow mw = new AddMatchWindow(tournament.ID, teams);
+                mw.Show();
+                this.Close();
+            }
+            else if (FiMatchFTeam.Content.ToString() != "" && FiMatchSTeam.Content.ToString() != "")
+            {
+                int MatchID = Connection.db.MatchList.Where(item => item.Tournaments.ID == tournament.ID && item.Match.Number == 5).Select(item => item.IDMatch).FirstOrDefault();
+                MatchWindow mw = new MatchWindow(MatchID);
+                mw.Show();
+                this.Close();
+            }
         }
     }
 }