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_Equipe : 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); } } private C_T_equipe _EquipeSelectionnee; public C_T_equipe EquipeSelectionnee { get { return _EquipeSelectionnee; } set { AssignerChamp(ref _EquipeSelectionnee, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } #endregion #region Données extérieures 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 { _BcpEquipes = value; } } #endregion public VM_Equipe() { UneEquipe = new VM_UneEquipe(); UneEquipe.ID = 0; UneEquipe.Nom = "Nom de l'équipe"; BcpEquipes = ChargerPersonnes(chConnexion); ActiverUneFiche = false; cConfirmer = new BaseCommande(Confirmer); cAnnuler = new BaseCommande(Annuler); cAjouter = new BaseCommande(Ajouter); cModifier = new BaseCommande(Modifier); cSupprimer = new BaseCommande(Supprimer); } #region Commandes public BaseCommande cConfirmer { get; set; } public BaseCommande cAnnuler { get; set; } public BaseCommande cAjouter { get; set; } public BaseCommande cModifier { get; set; } public BaseCommande cSupprimer { get; set; } #endregion private ObservableCollection ChargerPersonnes(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; } public void Confirmer() { if (nAjout == -1) { UneEquipe.ID = new G_T_equipe(chConnexion).Ajouter(UneEquipe.Nom,0,null); BcpEquipes.Add(new C_T_equipe(UneEquipe.ID, UneEquipe.Nom,0, null)); } else { new G_T_equipe(chConnexion).Modifier(UneEquipe.ID, UneEquipe.Nom, 0, null); BcpEquipes[nAjout] = new C_T_equipe(UneEquipe.ID, UneEquipe.Nom, 0, null); } ActiverUneFiche = false; } public void Annuler() { ActiverUneFiche = false; } public void Ajouter() { UneEquipe = new VM_UneEquipe(); nAjout = -1; ActiverUneFiche = true; } public void Modifier() { if (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; UneEquipe.IDEvent = Tmp.ID_evenement.Value; nAjout = BcpEquipes.IndexOf(EquipeSelectionnee); ActiverUneFiche = true; } } public void Supprimer() { if (EquipeSelectionnee != null) { new G_T_equipe(chConnexion).Supprimer(EquipeSelectionnee.ID_equipe); BcpEquipes.Remove(EquipeSelectionnee); } } } public class VM_UneEquipe : BasePropriete { private int _ID,_Point; private string _Nom; private int _IDEvent; public int ID { get { return _ID; } set { AssignerChamp(ref _ID, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public string Nom { get { return _Nom; } set { AssignerChamp(ref _Nom, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public int Point { get { return _Point; } set { AssignerChamp(ref _Point, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } public int IDEvent { get { return _IDEvent; } set { AssignerChamp(ref _IDEvent, value, System.Reflection.MethodBase.GetCurrentMethod().Name); } } } }