AddPlayerInTeamWindow.xaml.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.Entity;
  4. using System.Linq;
  5. using System.Windows;
  6. using System.Windows.Input;
  7. namespace Курсовой_проект_3._1.Windows
  8. {
  9. /// <summary>
  10. /// Логика взаимодействия для AddPlayerInTeamWindow.xaml
  11. /// </summary>
  12. public partial class AddPlayerInTeamWindow : Window
  13. {
  14. MyTeamContext _context;
  15. public AddPlayerInTeamWindow()
  16. {
  17. InitializeComponent();
  18. _context = new MyTeamContext();
  19. }
  20. private void Search_KeyDown(object sender, KeyEventArgs e)
  21. {
  22. SearchResultLB.ItemsSource = new List<int>();
  23. if (e.Key == Key.Enter)
  24. {
  25. List<PlayerApps> playerAppList = _context.PlayerApps.Where(u => DbFunctions.Like(u.Users.Nickname, "%" + SearchTBox.Text + "%")
  26. || DbFunctions.Like(u.Users.LName + " " + u.Users.FName + " " + u.Users.MName, "%" + SearchTBox.Text + "%")).ToList();
  27. List<PlayerItem> playerItemList = new List<PlayerItem>();
  28. foreach (PlayerApps app in playerAppList)
  29. {
  30. PlayerItem item = new PlayerItem();
  31. item.Name = $"{app.Users.LName} {app.Users.FName} {app.Users.MName}";
  32. item.Nickname = app.Users.Nickname;
  33. item.PhotoPath = app.Users.PhotoPath;
  34. item.CountryName = app.Users.Countries.Name;
  35. item.CountryIconPath = app.Users.Countries.IconPath;
  36. if (app.Users.Disciplines != null)
  37. item.DisciplineName = app.Users.Disciplines.Name;
  38. item.UserId = app.Users.Id;
  39. playerItemList.Add(item);
  40. }
  41. SearchResultLB.ItemsSource = playerItemList;
  42. }
  43. }
  44. private void SearchResultLB_MouseDoubleClick(object sender, MouseButtonEventArgs e)
  45. {
  46. if (SearchResultLB.SelectedItem != null)
  47. {
  48. PlayerItem selectedUser = (PlayerItem)SearchResultLB.SelectedItem;
  49. if (_context.TeamsUsers.Where(tu => tu.FK_User_Id == selectedUser.UserId && tu.DateEnd == null).Count() != 0)
  50. {
  51. MessageBox.Show("Игрок уже состоит в другой команде!");
  52. return;
  53. }
  54. // создаем новую запись
  55. TeamsUsers newTeamUsersRow = new TeamsUsers();
  56. newTeamUsersRow.FK_Team_Id = _context.Teams.Where(t => t.FK_Creater_Id == App.UserId).Select(t => t.Id).FirstOrDefault();
  57. newTeamUsersRow.FK_User_Id = selectedUser.UserId;
  58. newTeamUsersRow.DateStart = DateTime.Now;
  59. newTeamUsersRow.DateEnd = null;
  60. _context.TeamsUsers.Add(newTeamUsersRow);
  61. _context.SaveChanges();
  62. MessageBox.Show("Игрок добавлен в команду!");
  63. }
  64. }
  65. }
  66. }