Advertisement
xXMarcinatorXx

UserSelectableModel.cs

Oct 3rd, 2019
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.61 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Runtime.CompilerServices;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Drawing;
  10. using System.Windows.Media.Imaging;
  11. using WpfAnimatedGif;
  12. using System.Windows.Media;
  13. using SQLWPF;
  14. using System.Windows;
  15. using System.Windows.Controls.Primitives;
  16. using System.Drawing.Imaging;
  17.  
  18. namespace MaterialDesignColors.WpfExample.Domain
  19. {
  20.     public class UserSelectableModel : INotifyPropertyChanged
  21.     {
  22.         private bool _isSelected;
  23.         private int _userID;
  24.  
  25.  
  26.         private string _name;
  27.         private string _mail;
  28.         private ImageSource _icon;
  29.         private string _initials;
  30.         private int? _age;
  31.         private string _userName;
  32.         private string _playerNames;
  33.  
  34.         private Visibility _playerVisiblity;
  35.         private string _playerNamesText;
  36.  
  37.         public UserSelectableModel(SQLWPF.Users User)
  38.         {
  39.             _userID = User.ID;
  40.  
  41.             _name = $"{User.FirstName.Trim()} {User.Lastname.Trim()}";
  42.             _mail = User.Mail;
  43.             _initials += $"{User.FirstName.Trim().First()}{User.Lastname.Trim().First()}";
  44.             _age = User.Age;
  45.             _userName = User.Username.Trim();
  46.  
  47.  
  48.             System.Windows.Controls.Image image = new System.Windows.Controls.Image();
  49.            
  50.             if (User.UserIcon != null)
  51.             {
  52.                 long hello = User.UserIcon.LongLength;
  53.  
  54.                 if (hello > 0)
  55.                 {
  56.                     _icon = DecodePhoto(User.UserIcon);
  57.                 }
  58.                 else
  59.                     _icon = null;
  60.             }
  61.  
  62.             using (permissionsDatabaseModel e = new permissionsDatabaseModel())
  63.             {
  64.                 //int hello = e.Users.Max(p => p.ID);
  65.  
  66.                 if (e.Users_Players.Any(p => p.UserID == _userID))
  67.                 {
  68.                     var mål = new List<string>();
  69.                     mål = (from UsersPlayers in e.Users_Players
  70.  
  71.                            join connectPlayer in e.Players
  72.                            on UsersPlayers.PlayerID equals connectPlayer.ID
  73.  
  74.                            join connectUser in e.Users
  75.                            on UsersPlayers.UserID equals connectUser.ID
  76.  
  77.                            where UsersPlayers.UserID == _userID
  78.  
  79.                            select UsersPlayers.Players1.PlayerName).ToList();
  80.                    
  81.                     for (int i = 0; i < mål.Count(); i++)
  82.                     {
  83.                         if (i + 1 == mål.Count())
  84.                             _playerNames += $"{mål[i].Trim()}";
  85.                         else
  86.                             _playerNames += $"{mål[i].Trim()}, ";
  87.                     }
  88.  
  89.                     _playerNamesText = "PlayerNames: ";
  90.                 }
  91.                 else
  92.                 {
  93.                     _playerVisiblity = Visibility.Hidden;
  94.  
  95.                     _playerNamesText = "";
  96.                 }
  97.             }
  98.         }
  99.  
  100.         public BitmapImage DecodePhoto(byte[] byteVal)
  101.         {
  102.             MemoryStream strmImg = new MemoryStream(byteVal);
  103.             BitmapImage myBitmapImage = new BitmapImage();
  104.             myBitmapImage.BeginInit();
  105.             myBitmapImage.StreamSource = strmImg;
  106.             myBitmapImage.EndInit();
  107.             return myBitmapImage;
  108.  
  109.         }
  110.  
  111.         public bool IsSelected
  112.         {
  113.             get { return _isSelected; }
  114.             set
  115.             {
  116.                 if (_isSelected == value) return;
  117.                 _isSelected = value;
  118.                 OnPropertyChanged();
  119.             }
  120.         }
  121.  
  122.         public int UserID
  123.         {
  124.             get { return _userID; }
  125.             set
  126.             {
  127.                 if (_userID == value) return;
  128.                 _userID = value;
  129.                 OnPropertyChanged();
  130.             }
  131.         }
  132.  
  133.         public ImageSource Icon
  134.         {
  135.             get { return _icon; }
  136.             set
  137.             {
  138.                 if (_icon == value) return;
  139.                 _icon = value;
  140.                 OnPropertyChanged();
  141.             }
  142.         }
  143.  
  144.         public Visibility PlayerVisiblity
  145.         {
  146.             get { return _playerVisiblity; }
  147.             set
  148.             {
  149.                 if (_playerVisiblity == value) return;
  150.                 _playerVisiblity = value;
  151.                 OnPropertyChanged();
  152.             }
  153.         }
  154.  
  155.         public string Name
  156.         {
  157.             get { return _name; }
  158.             set
  159.             {
  160.                 if (_name == value) return;
  161.                 _name = value;
  162.                 OnPropertyChanged();
  163.             }
  164.         }
  165.  
  166.         public string PlayerNames
  167.         {
  168.             get { return _playerNames; }
  169.             set
  170.             {
  171.                 if (_playerNames == value) return;
  172.                 _playerNames = value;
  173.                 OnPropertyChanged();
  174.             }
  175.         }
  176.  
  177.         public string Initials
  178.         {
  179.             get { return _initials; }
  180.             set
  181.             {
  182.                 if (_initials == value) return;
  183.                 _initials = value;
  184.                 OnPropertyChanged();
  185.             }
  186.         }
  187.  
  188.         public string Mail
  189.         {
  190.             get { return _mail; }
  191.             set
  192.             {
  193.                 if (_mail == value) return;
  194.                 _mail = value;
  195.                 OnPropertyChanged();
  196.             }
  197.         }
  198.              
  199.  
  200.         public string PlayerNamesText
  201.         {
  202.             get { return _playerNamesText; }
  203.             set
  204.             {
  205.                 if (_playerNamesText == value) return;
  206.                 _playerNamesText = value;
  207.                 OnPropertyChanged();
  208.             }
  209.         }
  210.  
  211.         public int? Age
  212.         {
  213.             get { return _age; }
  214.             set
  215.             {
  216.                 if (_age == value) return;
  217.                 _age = value;
  218.                 OnPropertyChanged();
  219.             }
  220.         }
  221.  
  222.         public string UserName
  223.         {
  224.             get { return _userName; }
  225.             set
  226.             {
  227.                 if (_userName == value) return;
  228.                 _userName = value;
  229.                 OnPropertyChanged();
  230.             }
  231.         }
  232.  
  233.         public event PropertyChangedEventHandler PropertyChanged;
  234.  
  235.         protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
  236.         {
  237.             var handler = PropertyChanged;
  238.             if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
  239.         }
  240.     }
  241. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement