public Journee(int numero, string compteRendu, Mission mission) { string cheminPlanningXML = mission.monCheminPlanningXML; maListeActivites = new List<Activite>(); monNumero = numero; monCompteRendu = compteRendu; // Récupération de la liste des activités de la journée XDocument _planningXML = XDocument.Load(cheminPlanningXML); var activites = from activite in _planningXML.Descendants("Activites") where (string)activite.Parent.FirstAttribute == numero.ToString() select activite; var elements = activites.Elements("Activite"); maMission = mission; foreach (XElement a in elements) { int idAct = int.Parse(a.Attribute("idAct").Value); string nom = a.Element("NomAct").Value; int hDebutAct = int.Parse(a.Element("HDebutAct").Value); int mDebutAct = int.Parse(a.Element("MDebutAct").Value); int hFinAct = int.Parse(a.Element("HFinAct").Value); int mFinAct = int.Parse(a.Element("MFinAct").Value); bool ext = bool.Parse(a.Element("BoolExt").Value); string description = a.Element("DescriptionAct").Value; List<Astronaute> astro = new List<Astronaute>(); // récupération de la liste des participants var participants = from astronaute in _planningXML.Descendants("Astronaute") where (string)astronaute.Parent.Parent.Attribute("idAct") == idAct.ToString() select astronaute; int count1 = participants.Count(); foreach (XElement p in participants) { string nomP = p.Value.ToString(); // Ajout de l'astronaute dans la liste des participants à l'activité astro.Add(new Astronaute(nomP)); } if (ext == true) { string nomLieu = a.Descendants("Lieu").Elements("nomLieu").First().Value; int posX = int.Parse(a.Descendants("Lieu").Elements("posX").First().Value); int posY = int.Parse(a.Descendants("Lieu").Elements("posY").First().Value); maListeActivites.Add(new Activite(nom, ext, description, hDebutAct, mDebutAct, hFinAct, mFinAct, astro, nomLieu, posX, posY, idAct)); } else maListeActivites.Add(new Activite(nom, ext, description, hDebutAct, mDebutAct, hFinAct, mFinAct, astro, idAct)); } }
// Création de l'instance Planning à partir d'un fichier XML public Planning(Mission mission) { string cheminXMLPlanning = mission.monCheminPlanningXML; m = mission; XDocument _planningXML = XDocument.Load(cheminXMLPlanning); monTableauJournees = new List<Journee>(); var jours = from jour in _planningXML.Descendants("Planning") select jour; foreach (XElement j in jours.Elements("Jour")) { int num = int.Parse(j.Attribute("id").Value); string cr = j.Element("CRJour").Value; monTableauJournees.Add(new Journee(num, cr, m)); } }
private void b_creerNvMission_Click(object sender, EventArgs e) { // Récupération du fichier cible pour sauver les XML de la mission string cheminPourFichiersXML = "..//..//Missions//"; // Récupération des données string nomMission = tB_nomNvMission.Text; DateTime dateDebut = dT_DateDebNvMission.Value.Date; int dureeMission = int.Parse(cbDureeMission.Text); List<string> astronautes = maListeAstronautes; Mission _mission = new Mission(nomMission, dateDebut, dureeMission, astronautes, cheminPourFichiersXML); WindowLevel1 win1 = new WindowLevel1(_mission, maFenetrePrec); maFenetrePrec.refreshListBox(); this.Close(); win1.Show(); }
public WindowLevel1(Mission miss, WindowLevel0 winzero) { InitializeComponent(); maFenetrePrec = winzero; maMission = miss; this.Text = maMission.monNomMission; DateTime now = DateTime.Now; TimeSpan diff = now - maMission.maDateDebut; Double totalMin = diff.TotalMinutes; int nbJours = (int)(totalMin / 1480); double minRestantes = (totalMin - (nbJours * 1480)); int hActuelle = (int)(minRestantes / 60); int minActuelle = (int)(minRestantes - (hActuelle * 60)); labelJour.Text = nbJours.ToString(); labelHeures.Text = hActuelle.ToString(); labelMinutes.Text = minActuelle.ToString(); maMission.monJourJ = nbJours; maJournneeCourante = nbJours; //Zone de recherche cB_Acts.Checked = true; cB_CRJours.Checked = true; cB_DescrAct.Checked = true; for (int i = 0; i <= _mission.maDureeMission+1; i++) { cB_JourDebut.Items.Add(i); cB_JourFin.Items.Add(i); } cB_JourDebut.SelectedIndex = 1; cB_JourFin.SelectedIndex = maMission.maDureeMission-1; MesBoutons=genererBoutonsJours(); monNumeroPage = 0; affichageBoutons("right"); }