using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Collections; namespace VP { public partial class EmployeeTravel : Form { private bool RefreshOnce = false; /* Attributs */ private string familyname; private string name; private string naissance; private string job; private string sex; private string adresse; /* Constructeur */ public EmployeeTravel(string familyname, string name, string naissance, string job, string sex, string adresse) { InitializeComponent(); this.familyname = familyname; this.name = name; this.naissance = naissance; this.job = job; this.sex = sex; this.adresse = adresse; } /* Méthode qui se lance au chargement de la page */ private void EmployeeTravel_Load(object sender, EventArgs e) { /* On affecte tous les labels */ FamLabel.Text = familyname; NameLabel.Text = name; DateLabel.Text = naissance; JobLabel.Text = job; SexLabel.Text = sex; AdressLabel.Text = adresse; VehicleLabel.Text = ""; ModelLabel.Text = ""; BrandLabel.Text = ""; TravelListView_SelectedIndexChanged(null, null); } /* Méthode pour rafraichir/créer la listView */ private void TravelListView_SelectedIndexChanged(object sender, EventArgs e) { // On remplit la liste des voyages if (RefreshOnce == false) { TravelListView.Items.Clear(); AllTravel all = Model.getAllTravel(); ArrayList liste = all.getAllTravel(); foreach (Travel t in liste) { if (t.getVoyageur().CompareTo(this.familyname)==0) { // Ici j'ai trouvé dans tous les voyages, un voyage qui correspond à la personne, // On l'ajoute à la liste /**************************************************************/ /* On met la date dans le format qu'on veut (sans les heures) */ /**************************************************************/ string shortDate1; string shortDate2; DateTime dt1 = new DateTime(); DateTime dt2 = new DateTime(); dt1 = t.getDateD(); dt2 = t.getDateF(); shortDate1 = dt1.ToShortDateString(); shortDate2 = dt2.ToShortDateString(); /**************************************************************/ string[] travel = new string[] { t.getDestination(), t.getDuree().ToString(), shortDate1, shortDate2, t.getKm().ToString() }; /* On ajoute tous les items à la listView */ ListViewItem item = new ListViewItem(travel); TravelListView.Items.Add(item); } } RefreshOnce = true; } // On affiche le cout du voyage selectionne dans le Label : // On récupère le voyage sélectionné et on l'envoie à la nouvelle fenêtre ListView.SelectedListViewItemCollection ligne = TravelListView.SelectedItems; string dest = ""; string duree = ""; string dateD =""; string dateF = ""; foreach (ListViewItem item in ligne) { dest = item.SubItems[0].Text; duree = item.SubItems[1].Text; dateD = item.SubItems[2].Text; dateF = item.SubItems[3].Text; } string destC = dest; int dureeC = 0; int.TryParse(duree,out dureeC); DateTime dateDC= new DateTime(2009,09,01); DateTime.TryParse(dateD,out dateDC); DateTime dateFC=new DateTime(2009,09,01); DateTime.TryParse(dateF, out dateFC); // On récupère tous les voyages AllTravel allt = Model.getAllTravel(); ArrayList travelt = allt.getAllTravel(); string destT; int dureeT; DateTime d; DateTime f; // Le voyage qu'on va stocker Travel v = new Travel("",0,new DateTime(),new DateTime(),"","",null,0); // On trouve le voyage en question qui correspond a la ligne selectionné foreach (Travel t in travelt) { destT=t.getDestination(); dureeT=t.getDuree(); d=t.getDateD(); f=t.getDateF(); // On vérifie que c'est le bon voyage if( (destT.CompareTo(destC)==0) && (dureeT.CompareTo(dureeC)==0) && (DateTime.Compare(d,dateDC)==0) && (DateTime.Compare(f, dateFC) == 0)) { VehicleLabel.Text = t.getVehicle().getType(); ModelLabel.Text = t.getVehicle().getNom(); BrandLabel.Text = t.getVehicle().getMarque(); } } } } }