using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace Курсовой_проект_3._1.Windows { /// /// Логика взаимодействия для CreateTournamentWindow.xaml /// public partial class CreateTournamentWindow : Window { MyTeamContext _context; public CreateTournamentWindow() { InitializeComponent(); _context = new MyTeamContext(); } private void CreateBtn_Click(object sender, RoutedEventArgs e) { // проверка, есть ли ещё незаконченные турниры от этого пользователя if (_context.Tournaments.Where(t => t.FK_Organizer_Id == App.UserId).ToList().Count() != 0) { MessageBox.Show("У вас ещё есть незаконченные турниры!"); return; } // инициализируем переменные string tournamentName = TournamentNameTBox.Text; string prizeFondstr = PrizeFondTBox.Text.Trim(); string teamsCountstr = TeamCountCB.Text.Trim(); string venue = VenueTBox.Text; string dataStart = DateOfStartDP.Text; string dataEnd = DateOfEndDP.Text; // проверка на заполнение всех полей if (string.IsNullOrWhiteSpace(tournamentName) || !Func.IsOnlyDigitString(prizeFondstr) || !Func.IsOnlyDigitString(teamsCountstr) || string.IsNullOrWhiteSpace(venue) || string.IsNullOrWhiteSpace(dataStart) || string.IsNullOrWhiteSpace(dataEnd)) { MessageBox.Show("Все поля должны быть заполнены!"); return; } int prizeFond = Convert.ToInt32(prizeFondstr); int teamsCount = Convert.ToInt32(teamsCountstr); // проверка, есть ли турниры с таким названием if (_context.Tournaments.Where(t => t.Name == tournamentName).ToList().Count() != 0) { MessageBox.Show("У вас ещё есть незаконченные турниры!"); return; } // создаем новый объект Tournaments Tournaments tournament = new Tournaments(); tournament.Name = tournamentName; tournament.PrizeFond = prizeFond; tournament.MaxTeamsCount = teamsCount; tournament.DateStart = Convert.ToDateTime(dataStart); tournament.DateEnd = Convert.ToDateTime(dataEnd); tournament.Venue = venue; tournament.FK_Organizer_Id = App.UserId; tournament.FK_Format_Id = 1; tournament.LogoPath = LogoImg.Source.ToString(); _context.Tournaments.Add(tournament); _context.SaveChanges(); int tournamentId = _context.Tournaments.Where(t => t.Name == tournamentName).Select(t => t.Id).Single(); TournamentWindow tWnd = new TournamentWindow(tournamentId); tWnd.Show(); foreach (var wnd in Application.Current.Windows) { if (wnd is ApplicationWindow) { ApplicationWindow appWnd = (ApplicationWindow)wnd; appWnd.Close(); break; } } Close(); } private void ChangeLogoBtn_Click(object sender, RoutedEventArgs e) { // Создаем OpenFileDialog Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); // Устанавливаем фильтры и стандартное расширение файла dlg.DefaultExt = ".png"; dlg.Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif"; // Отображаем OpenFileDialog Nullable result = dlg.ShowDialog(); // Получаем и устанавливаем новое изображение if (result == true) { // Open document string filename = dlg.FileName; LogoImg.Source = new BitmapImage(new Uri(filename)); } } } }