ProjetThe/ProjetTheAlone/ViewModel/EncodeEquipe.cs

171 lines
5.8 KiB
C#

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<bool>(ref _ActiverUneFiche, value, System.Reflection.MethodBase.GetCurrentMethod().Name);
ActiverBcpFiche = !ActiverUneFiche;
}
}
private bool _ActiverBcpFiche;
public bool ActiverBcpFiche
{
get { return _ActiverBcpFiche; }
set { AssignerChamp<bool>(ref _ActiverBcpFiche, value, System.Reflection.MethodBase.GetCurrentMethod().Name); }
}
private C_T_equipe _EquipeSelectionnee;
public C_T_equipe EquipeSelectionnee
{
get { return _EquipeSelectionnee; }
set { AssignerChamp<C_T_equipe>(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<VM_UneEquipe>(ref _UneEquipe, value, System.Reflection.MethodBase.GetCurrentMethod().Name); }
}
private ObservableCollection<C_T_equipe> _BcpEquipes = new ObservableCollection<C_T_equipe>();
public ObservableCollection<C_T_equipe> 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<C_T_equipe> ChargerPersonnes(string chConn)
{
ObservableCollection<C_T_equipe> rep = new ObservableCollection<C_T_equipe>();
List<C_T_equipe> 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, UneEquipe.Point, UneEquipe.IDEvent);
BcpEquipes[nAjout] = new C_T_equipe(UneEquipe.ID, UneEquipe.Nom, UneEquipe.Point, UneEquipe.IDEvent);
}
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<int>(ref _ID, value, System.Reflection.MethodBase.GetCurrentMethod().Name); }
}
public string Nom
{
get { return _Nom; }
set { AssignerChamp<string>(ref _Nom, value, System.Reflection.MethodBase.GetCurrentMethod().Name); }
}
public int Point
{
get { return _Point; }
set { AssignerChamp<int>(ref _Point, value, System.Reflection.MethodBase.GetCurrentMethod().Name); }
}
public int IDEvent
{
get { return _IDEvent; }
set { AssignerChamp<int>(ref _IDEvent, value, System.Reflection.MethodBase.GetCurrentMethod().Name); }
}
}
}