using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ProjetTheAlone.Classes; using ProjetTheAlone.Gestion; using System.Collections.ObjectModel; using System.IO; using ProjetTheAlone.Config; namespace ProjetTheAlone.ViewModel { public class VM_Event : BasePropriete { #region Données Écran private string chConnexion = Settings2.Default.schCon /*@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='C:\Users\Hugues\Haute Ecole de la ville de Liège\Adrien VAN DAMME - ProjetTheAlone\ProjetTheAlone\ProjetThe.mdf';Integrated Security = True"*/; private int nAjout; private bool _ActiverUneFiche; public bool ActiverUneFiche { get { return _ActiverUneFiche; } set { AssignerChamp(ref _ActiverUneFiche, value, System.Reflection.MethodBase.GetCurrentMethod().Name); ActiverBcpFiche = !ActiverUneFiche; } } private bool _ActiverBcpFiche; public bool ActiverBcpFiche { get { return _ActiverBcpFiche; } set { AssignerChamp(ref _ActiverBcpFiche, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } #endregion #region Données Sélectionnée private C_T_event _EventSelectionnee; public C_T_event EventSelectionnee { get { return _EventSelectionnee; } set { AssignerChamp(ref _EventSelectionnee, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private C_T_listParticipant _JoueurSelectionnee; public C_T_listParticipant JoueurSelectionnee { get { return _JoueurSelectionnee; } set { AssignerChamp(ref _JoueurSelectionnee, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private C_T_equipe _EquipeSelectionnee; public C_T_equipe EquipeSelectionnee { get { return _EquipeSelectionnee; } set { AssignerChamp(ref _EquipeSelectionnee, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private C_T_typeEvenement _TypeEventSelectionnee; public C_T_typeEvenement TypeEventSelectionnee { get { return _TypeEventSelectionnee; } set { AssignerChamp(ref _TypeEventSelectionnee, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private C_T_lieu _LieuSelectionnee; public C_T_lieu LieuSelectionnee { get { return _LieuSelectionnee; } set { AssignerChamp(ref _LieuSelectionnee, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private C_T_beneficiaire _ParticipantSelectionnee; public C_T_beneficiaire ParticipantSelectionnee { get { return _ParticipantSelectionnee; } set { AssignerChamp(ref _ParticipantSelectionnee, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } #endregion #region Données extérieures private VM_UnEvent _UnEvent; public VM_UnEvent UnEvent { get { return _UnEvent; } set { AssignerChamp(ref _UnEvent, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private ObservableCollection _BcpEvents = new ObservableCollection(); public ObservableCollection BcpEvents { get { return _BcpEvents; } set { AssignerChamp>(ref _BcpEvents, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private VM_UnLieu _UnLieu; public VM_UnLieu UnLieu { get { return _UnLieu; } set { AssignerChamp(ref _UnLieu, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private ObservableCollection _BcpLieux = new ObservableCollection(); public ObservableCollection BcpLieux { get { return _BcpLieux; } set { AssignerChamp>(ref _BcpLieux, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private VM_UneEquipe _UneEquipe; public VM_UneEquipe UneEquipe { get { return _UneEquipe; } set { AssignerChamp(ref _UneEquipe, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private ObservableCollection _BcpEquipes = new ObservableCollection(); public ObservableCollection BcpEquipes { get { return _BcpEquipes; } set { AssignerChamp>(ref _BcpEquipes, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private VM_UnTypeEvent _UnTypeEvent; public VM_UnTypeEvent UnTypeEvent { get { return _UnTypeEvent; } set { AssignerChamp(ref _UnTypeEvent, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private ObservableCollection _BcpTypeEvents = new ObservableCollection(); public ObservableCollection BcpTypeEvents { get { return _BcpTypeEvents; } set { AssignerChamp>(ref _BcpTypeEvents, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private VM_UnBeneficiaire _UnParticipant; public VM_UnBeneficiaire UnParticipant { get { return _UnParticipant; } set { AssignerChamp(ref _UnParticipant, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private ObservableCollection _BcpParticipants = new ObservableCollection(); public ObservableCollection BcpParticipants { get { return _BcpParticipants; } set { AssignerChamp>(ref _BcpParticipants, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private VM_UnJoueur _UnJoueur; public VM_UnJoueur UnJoueur { get { return _UnJoueur; } set { AssignerChamp(ref _UnJoueur, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } private ObservableCollection _BcpJoueurs = new ObservableCollection(); public ObservableCollection BcpJoueurs { get { return _BcpJoueurs; } set { AssignerChamp>(ref _BcpJoueurs, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } #endregion public VM_Event() { UnEvent = new VM_UnEvent(); UnEvent.ID = 0; UnEvent.Date = DateTime.Now; UnEvent.Description = "Description de l'événement"; UnEvent.Duree = DateTime.Now; BcpEvents = ChargerEvents(chConnexion); BcpLieux = ChargerLieux(chConnexion); BcpTypeEvents = ChargerTypeEvent(chConnexion); BcpEquipes = ChargerEquipes(chConnexion); BcpParticipants = ChargerParticipant(chConnexion); cAfficherJoueur = new BaseCommande(ChargerJoueur); ActiverUneFiche = false; cConfirmer = new BaseCommande(Confirmer); cAnnuler = new BaseCommande(Annuler); cAjouter = new BaseCommande(Ajouter); cAjouterJoueur = new BaseCommande(AjouterJoueur); cModifier = new BaseCommande(Modifier); cSupprimer = new BaseCommande(Supprimer); cSupprimerJoueur = new BaseCommande(SupprimerJoueur); cAjouterEquipe = new BaseCommande(AjouterEquipe); } #region Commandes public BaseCommande cConfirmer { get; set; } public BaseCommande cAnnuler { get; set; } public BaseCommande cAjouter { get; set; } public BaseCommande cAjouterJoueur { get; set; } public BaseCommande cModifier { get; set; } public BaseCommande cSupprimer { get; set; } public BaseCommande cSupprimerJoueur { get; set; } public BaseCommande cAjouterEquipe { get; set; } public BaseCommande cAfficherJoueur { get; set; } #endregion #region Chargement private ObservableCollection ChargerEvents(string chConn) { ObservableCollection rep = new ObservableCollection(); List lTmp = new G_T_event(chConn).Lire("E_date"); foreach (C_T_event Tmp in lTmp) rep.Add(Tmp); return rep; } private ObservableCollection ChargerLieux(string chConn) { ObservableCollection rep = new ObservableCollection(); List lTmp = new G_T_lieu(chConn).Lire("L_nom"); foreach (C_T_lieu Tmp in lTmp) rep.Add(Tmp); return rep; } private ObservableCollection ChargerTypeEvent(string chConn) { ObservableCollection rep = new ObservableCollection(); List lTmp = new G_T_typeEvenement(chConn).Lire("TE_nom"); foreach (C_T_typeEvenement Tmp in lTmp) rep.Add(Tmp); return rep; } private ObservableCollection ChargerEquipes(string chConn) { ObservableCollection rep = new ObservableCollection(); List lTmp = new G_T_equipe(chConn).Lire("L_nom"); foreach (C_T_equipe Tmp in lTmp) rep.Add(Tmp); return rep; } private ObservableCollection ChargerParticipant(string chConn) { ObservableCollection rep = new ObservableCollection(); List lTmp = new G_T_beneficiaire(chConn).Lire("B_nom"); foreach (C_T_beneficiaire Tmp in lTmp) rep.Add(Tmp); return rep; } private void ChargerJoueur() { if (EquipeSelectionnee != null) { ObservableCollection rep = new ObservableCollection(); List lTmp = new G_T_listParticipant(chConnexion).Lire("B_nom"); foreach (C_T_listParticipant Tmp in lTmp) if (EquipeSelectionnee.ID_equipe == Tmp.ID_equipe) rep.Add(Tmp); BcpJoueurs = rep; } } #endregion public void Confirmer() { if (TypeEventSelectionnee != null && LieuSelectionnee != null) { if (nAjout == -1) { UnEvent.ID = new G_T_event(chConnexion).Ajouter(UnEvent.Date, UnEvent.Duree, TypeEventSelectionnee.ID_typeEvenement, UnEvent.Description, LieuSelectionnee.ID_lieu, null); BcpEvents.Add(new C_T_event(UnEvent.ID, UnEvent.Date, UnEvent.Duree, TypeEventSelectionnee.ID_typeEvenement, UnEvent.Description, LieuSelectionnee.ID_lieu, null)); } else { new G_T_event(chConnexion).Modifier(UnEvent.ID, UnEvent.Date, UnEvent.Duree, TypeEventSelectionnee.ID_typeEvenement, UnEvent.Description, LieuSelectionnee.ID_lieu, null); BcpEvents[nAjout] = new C_T_event(UnEvent.ID, UnEvent.Date, UnEvent.Duree, TypeEventSelectionnee.ID_typeEvenement, UnEvent.Description, LieuSelectionnee.ID_lieu, null); } ActiverUneFiche = false; } } public void Annuler() { ActiverUneFiche = false; } public void Ajouter() { UnEvent = new VM_UnEvent(); UnEvent.Date = DateTime.Now ; UnEvent.Description = "Description de l'événement" ; UnEvent.Duree = DateTime.Now ; nAjout = -1; ActiverUneFiche = true; } public void AjouterJoueur() { if (ParticipantSelectionnee !=null && EquipeSelectionnee != null) { UnJoueur = new VM_UnJoueur(); UnJoueur.ID = new G_T_listParticipant(chConnexion).Ajouter(EquipeSelectionnee.ID_equipe, ParticipantSelectionnee.ID_beneficiaire); BcpJoueurs.Add(new C_T_listParticipant(UnJoueur.ID, EquipeSelectionnee.ID_equipe, ParticipantSelectionnee.ID_beneficiaire)); } } public void AjouterEquipe() { if (EventSelectionnee != null && EquipeSelectionnee != null) { C_T_equipe Tmp = new G_T_equipe(chConnexion).Lire_ID(EquipeSelectionnee.ID_equipe); UneEquipe = new VM_UneEquipe(); UneEquipe.ID = Tmp.ID_equipe; UneEquipe.Nom = Tmp.E_nom; UneEquipe.Point = Tmp.E_point; new G_T_equipe(chConnexion).Modifier(UneEquipe.ID, UneEquipe.Nom, 0, EventSelectionnee.ID_event); BcpEquipes[BcpEquipes.IndexOf(EquipeSelectionnee)] = new C_T_equipe(UneEquipe.ID, UneEquipe.Nom, 0, EventSelectionnee.ID_event); } } public void Modifier() { if (EventSelectionnee != null) { C_T_event Tmp = new G_T_event(chConnexion).Lire_ID(EventSelectionnee.ID_event); UnEvent = new VM_UnEvent(); UnEvent.ID = Tmp.ID_event; UnEvent.Date = Tmp.E_date.Value; UnEvent.Description = Tmp.E_description; UnEvent.Duree = Tmp.E_duree.Value; UnEvent.ID_TypeEvent = Tmp.ID_typeEvenement.Value; UnEvent.ID_Lieu = Tmp.ID_lieu.Value; UnEvent.Img = Tmp.E_Pic; nAjout = BcpEvents.IndexOf(EventSelectionnee); ActiverUneFiche = true; } } public void Supprimer() { if (EventSelectionnee != null) { new G_T_event(chConnexion).Supprimer(EventSelectionnee.ID_event); BcpEvents.Remove(EventSelectionnee); } } public void SupprimerJoueur() { if (JoueurSelectionnee != null) { new G_T_listParticipant(chConnexion).Supprimer(JoueurSelectionnee.ID_LP); BcpJoueurs.Remove(JoueurSelectionnee); } } } public class VM_UnEvent : BasePropriete { private int _ID,_ID_TypeEvent,_ID_Lieu; private string _Description; private DateTime _Duree, _Date; private byte?[] _Img; public int ID { get { return _ID; } set { AssignerChamp(ref _ID, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public string Description { get { return _Description; } set { AssignerChamp(ref _Description, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public int ID_Lieu { get { return _ID_Lieu; } set { AssignerChamp(ref _ID_Lieu, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public int ID_TypeEvent { get { return _ID_TypeEvent; } set { AssignerChamp(ref _ID_TypeEvent, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public byte?[] Img { get { return _Img; } set { AssignerChamp(ref _Img, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public DateTime Duree { get { return _Duree; } set { AssignerChamp(ref _Duree, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public DateTime Date { get { return _Date; } set { AssignerChamp(ref _Date, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } } public class VM_UnJoueur : BasePropriete { private int _ID, _ID_Equipe, _ID_Beneficiaire; public int ID { get { return _ID; } set { AssignerChamp(ref _ID, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public int ID_Equipe { get { return _ID_Equipe; } set { AssignerChamp(ref _ID_Equipe, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public int ID_Beneficiaire { get { return _ID_Beneficiaire; } set { AssignerChamp(ref _ID_Beneficiaire, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } } }