/// <summary> /// Constructeur paramétré /// </summary> /// <param name="lieuAModifier">Le lieu à modifier lors de la sélection</param> /// <param name="textBoxAModifier">Le textBox à modifier lors de la sélection</param> public SelectionCarte(Lieu lieuAModifier, TextBox textBoxAModifier) { InitializeComponent(); this.lieuAModifier = lieuAModifier; this.textBoxAModifier = textBoxAModifier; }
public void EqualsTest() { Lieu l = new Lieu(-60, 80); Lieu l2 = new Lieu(-60, 80); Lieu l3 = new Lieu(60, -80); Assert.IsTrue(l.Equals(l2), "Les lieux devraient être égaux"); Assert.IsFalse(l.Equals(l3), "Les lieux ne devraient pas être égaux"); }
/// <summary> /// Permet d'afficher les coordonnées, près de la souris /// </summary> /// <param name="sender">Objet source</param> /// <param name="e">Evènement</param> private void map_MouseMove(object sender, MouseEventArgs e) { label1.Location = new Point(e.X + 20, e.Y - 20); int x = e.X, y = e.Y; Lieu.convertirPosition(ref x, ref y); label1.Text = x + ";" + y; }
/// <summary> /// Constructeur par copie /// </summary> /// <param name="a">Une activité</param> public Activite(Activite a) { typeActivite = a.typeActivite; description = a.description; etat = a.etat; heureDebut = a.heureDebut; heureFin = a.heureFin; saveFichier = new List <Activite>(); lieu = a.lieu; numero = ++nbActivite; }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="typeActivite">Type de l'Activite</param> /// <param name="description">Description de l'Activite</param> /// <param name="deb">Date de début de l'Activite</param> /// <param name="fin">Date de fin de l'Activite</param> /// <param name="lieu">Lieu de l'Activite</param> public Activite(TypeActivite typeActivite, String description, TimeMartien deb, TimeMartien fin, Lieu lieu) { this.typeActivite = typeActivite; this.description = description; etat = new Futur(); this.heureDebut = deb; this.heureFin = fin; saveFichier = new List <Activite>(); this.lieu = lieu; numero = ++nbActivite; }
public override bool Equals(object obj) { Lieu l = obj as Lieu; if (l != null) { if (l.x == this.x) { if (l.y == this.y) { return(true); } } } return(false); }
/// <summary> /// Permet de procéder aux modifications /// </summary> /// <param name="sender">Objet source</param> /// <param name="e">Evènement</param> private void ok_Click(object sender, EventArgs e) { TimeMartien d = new TimeMartien(0, (int) debutHeure.Value, (int) debutMinute.Value, 0); TimeMartien f = new TimeMartien(0, (int) finHeure.Value, (int) finMinute.Value, 0); if (d < f || (d > f && f.Equals(new TimeMartien(0)))) { String type = treeView.SelectedNode.Text; journeeAModifier.supprimerActivite(activiteAModifier); try { lieu = new Lieu(int.Parse(lieuTB.Text.Split(';')[0]), int.Parse(lieuTB.Text.Split(';')[1])); } catch { lieu = new Lieu(0, 0); } Activite a; if (exterieurRadio.Checked) { ITransport transport; if (vehiculeRadio.Checked) transport = new Vehicule(); else transport = new Scaphandre(); if (explorationRadio.Checked) a = new ExplorationExterieure(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), lieu, transport); else a = new ExperienceExterieure(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), lieu, transport); } else a = new Activite(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), new Lieu(0, 0)); if (a.getDuree().getTotalMinutes() > 0) { if (a.getHeureFin().getHeures() == 0 && a.getHeureFin().getMinutes() == 0 && a.getHeureFin().getSecondes() == 0) a.setHeureFin(new TimeMartien(0, 24, 39, 59)); /* Découpage activité */ if (activiteAModifier.getHeureFin().getHeures() == 0 && activiteAModifier.getHeureFin().getMinutes() == 0 && activiteAModifier.getHeureFin().getSecondes() == 0) activiteAModifier.setHeureFin(new TimeMartien(0, 24, 39, 59)); if (activiteAModifier.getDuree().getTotalMinutes() == 10 || activiteAModifier.getDuree().getTotalMinutes() == 9) journeeAModifier.ajouterActivite(a); else if (activiteAModifier.getDuree().getTotalMinutes() == 20 || activiteAModifier.getDuree().getTotalMinutes() == 19) { if (activiteAModifier.getHeureDebut() < a.getHeureDebut()) activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0)); else activiteAModifier.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0)); journeeAModifier.ajouterActivite(a); journeeAModifier.ajouterActivite(activiteAModifier); } else if (activiteAModifier.getDuree().getTotalMinutes() > 20) { if (activiteAModifier.getHeureDebut() < a.getHeureDebut() && activiteAModifier.getHeureFin() > a.getHeureFin()) { Activite copie = (activiteAModifier.isActiviteExterieure()) ? null : new Activite(activiteAModifier); if (copie == null && activiteAModifier.isExploration()) copie = new ExplorationExterieure((ExplorationExterieure)activiteAModifier); else if (copie == null) copie = new ExperienceExterieure((ExperienceExterieure)activiteAModifier); activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0)); copie.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0)); journeeAModifier.ajouterActivite(copie); journeeAModifier.ajouterActivite(activiteAModifier); } else if (activiteAModifier.getHeureDebut() < a.getHeureDebut() && activiteAModifier.getHeureFin() == a.getHeureFin()) { activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0)); journeeAModifier.ajouterActivite(activiteAModifier); } else if (activiteAModifier.getHeureDebut() == a.getHeureDebut() && activiteAModifier.getHeureFin() > a.getHeureFin()) { activiteAModifier.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0)); journeeAModifier.ajouterActivite(activiteAModifier); } journeeAModifier.ajouterActivite(a); } if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39 && a.getHeureFin().getSecondes() == 59) a.setHeureFin(new TimeMartien(0)); cm.miseAJourEdt(journeeAModifier); dh.Close(); cm.ouvrirDernierDetailHeure(); fermerFenetre(); } else { errDuree.Text = "La durée de l'activité doit être d'au moins 10 minutes"; errDuree.Visible = true; } } else { errDuree.Text = "La date de début doit être inférieure à la date de fin"; errDuree.Visible = true; } }
/// <summary> /// Redéfini le lieu de l'activité /// </summary> /// <param name="l">Un lieu</param> public void setLieu(Lieu l) { this.lieu = l; }
/// <summary> /// Permet de charger les données depuis un fichier XML /// </summary> /// <param name="marsOMatic">Le fichier XML Mars-o-Matic</param> /// <param name="activitesRefs">Le fichier XML ActivitesRefs associé au fichier précédent</param> private void chargerXml(String marsOMatic, String activitesRefs) { XmlDocument mars = new XmlDocument(); mars.Load(marsOMatic); XmlDocument acts = new XmlDocument(); acts.Load(activitesRefs); Dictionary <int, Activite> activitesBase = new Dictionary <int, Activite>(); int nbElements = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("NbElements").InnerText); Progression p = new Progression(nbElements); p.Show(); /* Chargement données des activités de base */ XmlNodeList activites = acts.GetElementsByTagName("Activite"); foreach (XmlNode n in activites) { Activite a; int num = int.Parse(n.SelectSingleNode("Numero").InnerText); bool exterieure = bool.Parse(n.SelectSingleNode("Exterieure").InnerText); bool exploration = bool.Parse(n.SelectSingleNode("Exploration").InnerText); TypeActivite ta = new TypeActivite(n.SelectSingleNode("TypeActivite").SelectSingleNode("Nom").InnerText); if (exterieure) { if (exploration) { a = new ExplorationExterieure(ta, "", null, null, null, null); } else { a = new ExperienceExterieure(ta, "", null, null, null, null); } } else { a = new Activite(ta); } activitesBase.Add(num, a); p.incrementer(); } /* Chargement données */ int jour = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Jour").InnerText); int mois = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Mois").InnerText); int annee = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Annee").InnerText); int heures = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Heures").InnerText); int minutes = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Minutes").InnerText); int secondes = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Secondes").InnerText); this.debutMission = new DateTime(annee, mois, jour, heures, minutes, secondes); TimeMartien nb = TimeMartien.calculerJours(debutMission); int numJour = nb.getJours() + 1; if (numJour > 500) { numJour = 500; } XmlNodeList astronautesNodes = mars.GetElementsByTagName("Astronaute"); foreach (XmlNode n in astronautesNodes) { String nom = n.SelectSingleNode("Nom").InnerText; String prenom = n.SelectSingleNode("Prenom").InnerText; int age = int.Parse(n.SelectSingleNode("Age").InnerText); Astronaute a = new Astronaute(nom, prenom, age); Dictionary <int, Journee> joursMission = new Dictionary <int, Journee>(); a.setJourneesMission(joursMission); astronautes.Add(a); a.getJourneesMission().Clear(); astroList.Items.Add(a); // Ajout dans la liste => interface XmlNodeList missionNode = n.SelectSingleNode("JourneesMission").SelectNodes("Journee"); foreach (XmlNode nn in missionNode) { int num = int.Parse(nn.SelectSingleNode("Numero").InnerText); String etat = nn.SelectSingleNode("Etat").InnerText; IEtat etatJournee = new Passe(); if (etat.Equals("EnCours")) { etatJournee = new EnCours(); } else if (etat.Equals("Futur")) { etatJournee = new Futur(); } String rapport = nn.SelectSingleNode("Rapport").InnerText; Journee j = new Journee(num, rapport, etatJournee, false); j.getActivites().Clear(); joursMission.Add(num, j); XmlNodeList activitesNode = nn.SelectSingleNode("Activites").SelectNodes("Activite"); foreach (XmlNode nnn in activitesNode) { int numA = int.Parse(nnn.SelectSingleNode("Numero").InnerText); String transport = nnn.SelectSingleNode("Transport").InnerText; ITransport transportAct = null; if (transport.Equals("Scaphandre")) { transportAct = new Scaphandre(); } else if (transport.Equals("Vehicule")) { transportAct = new Vehicule(); } String description = nnn.SelectSingleNode("Description").InnerText; etat = nnn.SelectSingleNode("Etat").InnerText; IEtat etatAct = new Passe(); if (etat.Equals("EnCours")) { etatAct = new EnCours(); } else if (etat.Equals("Futur")) { etatAct = new Futur(); } int mD = int.Parse(nnn.SelectSingleNode("HeureDebut").InnerText); int mF = int.Parse(nnn.SelectSingleNode("HeureFin").InnerText); String xy = nnn.SelectSingleNode("XY").InnerText; int x = int.Parse(xy.Split(',')[0]); int y = int.Parse(xy.Split(',')[1]); Lieu l = new Lieu(x, y); Activite aBase = activitesBase[numA]; Activite act; if (aBase.isActiviteExterieure()) { if (aBase.isExperience()) { act = new ExperienceExterieure(aBase.getTypeActivite(), description, new TimeMartien(0, 0, mD, 0), new TimeMartien(0, 0, mF, 0), l, transportAct); } else { act = new ExplorationExterieure(aBase.getTypeActivite(), description, new TimeMartien(0, 0, mD, 0), new TimeMartien(0, 0, mF, 0), l, transportAct); } } else { act = new Activite(aBase.getTypeActivite(), description, new TimeMartien(0, 0, mD, 0), new TimeMartien(0, 0, mF, 0), l); } act.setDescription(description); act.setEtat(etatAct); j.ajouterActivite(act); p.incrementer(); } p.incrementer(); } p.incrementer(); } initialisationInterface(); astronauteSelectionne = astronautes[0]; journeesMission = astronauteSelectionne.getJourneesMission(); journeeActuelle = journeesMission[numJour]; modificationJourneeActuelle(numJour); changerPeriode(periode); verificationChangementPeriode(); mettreAJourHeures(); miseAJourEdt(journeesMission[journeeSelectionnee]); descriptionTexte.Text = journeesMission[journeeSelectionnee].getDescription(); astroList.SelectedItem = astronauteSelectionne; p.fermerFenetre(); }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="j">Une journée</param> /// <param name="a">Une activité la journée</param> /// <param name="cm">L'interface graphique CalendrierMission</param> /// <param name="dh">L'interface graphique DetailHeure</param> public ModificationActivite(Journee j, Activite a, CalendrierMission cm, DetailHeure dh) { if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39) { a.setHeureFin(new TimeMartien(0)); } InitializeComponent(); this.dh = dh; if (finHeure.Value == 0 && finMinute.Value == 0) { finHeure.Value = 24; finMinute.Value = 40; } debutHeure.Maximum = finHeure.Value; lieu = new Lieu(0, 0); activiteAModifier = a; journeeAModifier = j; this.cm = cm; debutHeure.Value = activiteAModifier.getHeureDebut().getHeures(); finHeure.Value = activiteAModifier.getHeureFin().getHeures(); debutMinute.Value = activiteAModifier.getHeureDebut().getMinutes(); finMinute.Value = activiteAModifier.getHeureFin().getMinutes(); debutHeure.Minimum = debutHeure.Value; finHeure.Maximum = (finHeure.Value == 0) ? 24 : finHeure.Value; finHeure.Minimum = (finHeure.Value == 0) ? 0 : debutHeure.Value; remplirTreeView(); descriptionTB.Text = a.getDescription(); if (a.isActiviteExterieure()) { exterieurRadio.Checked = true; if (a.isExploration()) { explorationRadio.Checked = true; scaphandreRadio.Checked = (((ExplorationExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false; vehiculeRadio.Checked = !scaphandreRadio.Checked; } else { experienceRadio.Checked = true; scaphandreRadio.Checked = (((ExperienceExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false; vehiculeRadio.Checked = !scaphandreRadio.Checked; } } else { interieurRadio.Checked = true; } foreach (TreeNode tn in treeView.Nodes) { foreach (TreeNode tnn in tn.Nodes) { if (tnn.Text.Equals(a.getNom())) { treeView.SelectedNode = tnn; } } } lieuTB.Text = activiteAModifier.getLieu().ToString(); debutHeure.Maximum = finHeure.Maximum; heureDebutStatic = new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0); heureFinStatic = new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0); }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="typeActivite">Type de l'Activite</param> /// <param name="description">Description de l'Activite</param> /// <param name="debut">Date de début de l'Activite</param> /// <param name="fin">Date de fin de l'Activite</param> /// <param name="lieu">Lieu de l'Activite</param> /// <param name="transport">Moyen de transport pour l'Activite</param> public ExperienceExterieure(TypeActivite typeActivite, String description, TimeMartien debut, TimeMartien fin, Lieu lieu, ITransport transport) : base(typeActivite, description, debut, fin, lieu) { this.transport = transport; }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="typeActivite">Type de l'Activite</param> /// <param name="description">Description de l'Activite</param> /// <param name="debut">Date de début de l'Activite</param> /// <param name="fin">Date de fin de l'Activite</param> /// <param name="lieu">Lieu de l'Activite</param> public ExperienceExterieure(TypeActivite typeActivite, String description, TimeMartien debut, TimeMartien fin, Lieu lieu) : this(typeActivite, description, debut, fin, lieu, new Scaphandre()) { }
/// <summary> /// Permet de charger les données depuis un fichier XML /// </summary> /// <param name="marsOMatic">Le fichier XML Mars-o-Matic</param> /// <param name="activitesRefs">Le fichier XML ActivitesRefs associé au fichier précédent</param> private void chargerXml(String marsOMatic, String activitesRefs) { XmlDocument mars = new XmlDocument(); mars.Load(marsOMatic); XmlDocument acts = new XmlDocument(); acts.Load(activitesRefs); Dictionary<int, Activite> activitesBase = new Dictionary<int, Activite>(); int nbElements = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("NbElements").InnerText); Progression p = new Progression(nbElements); p.Show(); /* Chargement données des activités de base */ XmlNodeList activites = acts.GetElementsByTagName("Activite"); foreach (XmlNode n in activites) { Activite a; int num = int.Parse(n.SelectSingleNode("Numero").InnerText); bool exterieure = bool.Parse(n.SelectSingleNode("Exterieure").InnerText); bool exploration = bool.Parse(n.SelectSingleNode("Exploration").InnerText); TypeActivite ta = new TypeActivite(n.SelectSingleNode("TypeActivite").SelectSingleNode("Nom").InnerText); if (exterieure) if (exploration) a = new ExplorationExterieure(ta, "", null, null, null, null); else a = new ExperienceExterieure(ta, "", null, null, null, null); else a = new Activite(ta); activitesBase.Add(num, a); p.incrementer(); } /* Chargement données */ int jour = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Jour").InnerText); int mois = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Mois").InnerText); int annee = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Annee").InnerText); int heures = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Heures").InnerText); int minutes = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Minutes").InnerText); int secondes = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Secondes").InnerText); this.debutMission = new DateTime(annee, mois, jour, heures, minutes, secondes); TimeMartien nb = TimeMartien.calculerJours(debutMission); int numJour = nb.getJours() + 1; if (numJour > 500) numJour = 500; XmlNodeList astronautesNodes = mars.GetElementsByTagName("Astronaute"); foreach (XmlNode n in astronautesNodes) { String nom = n.SelectSingleNode("Nom").InnerText; String prenom = n.SelectSingleNode("Prenom").InnerText; int age = int.Parse(n.SelectSingleNode("Age").InnerText); Astronaute a = new Astronaute(nom, prenom, age); Dictionary<int, Journee> joursMission = new Dictionary<int, Journee>(); a.setJourneesMission(joursMission); astronautes.Add(a); a.getJourneesMission().Clear(); astroList.Items.Add(a); // Ajout dans la liste => interface XmlNodeList missionNode = n.SelectSingleNode("JourneesMission").SelectNodes("Journee"); foreach (XmlNode nn in missionNode) { int num = int.Parse(nn.SelectSingleNode("Numero").InnerText); String etat = nn.SelectSingleNode("Etat").InnerText; IEtat etatJournee = new Passe(); if (etat.Equals("EnCours")) etatJournee = new EnCours(); else if (etat.Equals("Futur")) etatJournee = new Futur(); String rapport = nn.SelectSingleNode("Rapport").InnerText; Journee j = new Journee(num, rapport, etatJournee, false); j.getActivites().Clear(); joursMission.Add(num, j); XmlNodeList activitesNode = nn.SelectSingleNode("Activites").SelectNodes("Activite"); foreach (XmlNode nnn in activitesNode) { int numA = int.Parse(nnn.SelectSingleNode("Numero").InnerText); String transport = nnn.SelectSingleNode("Transport").InnerText; ITransport transportAct = null; if (transport.Equals("Scaphandre")) transportAct = new Scaphandre(); else if (transport.Equals("Vehicule")) transportAct = new Vehicule(); String description = nnn.SelectSingleNode("Description").InnerText; etat = nnn.SelectSingleNode("Etat").InnerText; IEtat etatAct = new Passe(); if (etat.Equals("EnCours")) etatAct = new EnCours(); else if (etat.Equals("Futur")) etatAct = new Futur(); int mD = int.Parse(nnn.SelectSingleNode("HeureDebut").InnerText); int mF = int.Parse(nnn.SelectSingleNode("HeureFin").InnerText); String xy = nnn.SelectSingleNode("XY").InnerText; int x = int.Parse(xy.Split(',')[0]); int y = int.Parse(xy.Split(',')[1]); Lieu l = new Lieu(x, y); Activite aBase = activitesBase[numA]; Activite act; if (aBase.isActiviteExterieure()) if (aBase.isExperience()) act = new ExperienceExterieure(aBase.getTypeActivite(), description, new TimeMartien(0, 0, mD, 0), new TimeMartien(0, 0, mF, 0), l, transportAct); else act = new ExplorationExterieure(aBase.getTypeActivite(), description, new TimeMartien(0, 0, mD, 0), new TimeMartien(0, 0, mF, 0), l, transportAct); else act = new Activite(aBase.getTypeActivite(), description, new TimeMartien(0, 0, mD, 0), new TimeMartien(0, 0, mF, 0), l); act.setDescription(description); act.setEtat(etatAct); j.ajouterActivite(act); p.incrementer(); } p.incrementer(); } p.incrementer(); } initialisationInterface(); astronauteSelectionne = astronautes[0]; journeesMission = astronauteSelectionne.getJourneesMission(); journeeActuelle = journeesMission[numJour]; modificationJourneeActuelle(numJour); changerPeriode(periode); verificationChangementPeriode(); mettreAJourHeures(); miseAJourEdt(journeesMission[journeeSelectionnee]); descriptionTexte.Text = journeesMission[journeeSelectionnee].getDescription(); astroList.SelectedItem = astronauteSelectionne; p.fermerFenetre(); }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="j">Une journée</param> /// <param name="a">Une activité la journée</param> /// <param name="cm">L'interface graphique CalendrierMission</param> /// <param name="dh">L'interface graphique DetailHeure</param> public ModificationActivite(Journee j, Activite a, CalendrierMission cm, DetailHeure dh) { if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39) a.setHeureFin(new TimeMartien(0)); InitializeComponent(); this.dh = dh; if (finHeure.Value == 0 && finMinute.Value == 0) { finHeure.Value = 24; finMinute.Value = 40; } debutHeure.Maximum = finHeure.Value; lieu = new Lieu(0, 0); activiteAModifier = a; journeeAModifier = j; this.cm = cm; debutHeure.Value = activiteAModifier.getHeureDebut().getHeures(); finHeure.Value = activiteAModifier.getHeureFin().getHeures(); debutMinute.Value = activiteAModifier.getHeureDebut().getMinutes(); finMinute.Value = activiteAModifier.getHeureFin().getMinutes(); debutHeure.Minimum = debutHeure.Value; finHeure.Maximum = (finHeure.Value == 0) ? 24 : finHeure.Value; finHeure.Minimum = (finHeure.Value == 0) ? 0 : debutHeure.Value; remplirTreeView(); descriptionTB.Text = a.getDescription(); if (a.isActiviteExterieure()) { exterieurRadio.Checked = true; if (a.isExploration()) { explorationRadio.Checked = true; scaphandreRadio.Checked = (((ExplorationExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false; vehiculeRadio.Checked = !scaphandreRadio.Checked; } else { experienceRadio.Checked = true; scaphandreRadio.Checked = (((ExperienceExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false; vehiculeRadio.Checked = !scaphandreRadio.Checked; } } else interieurRadio.Checked = true; foreach (TreeNode tn in treeView.Nodes) foreach (TreeNode tnn in tn.Nodes) if (tnn.Text.Equals(a.getNom())) treeView.SelectedNode = tnn; lieuTB.Text = activiteAModifier.getLieu().ToString(); debutHeure.Maximum = finHeure.Maximum; heureDebutStatic = new TimeMartien(0, (int) debutHeure.Value, (int) debutMinute.Value, 0); heureFinStatic = new TimeMartien(0, (int) finHeure.Value, (int) finMinute.Value, 0); }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="typeActivite">Type de l'Activite</param> /// <param name="description">Description de l'Activite</param> /// <param name="debut">Date de début de l'Activite</param> /// <param name="fin">Date de fin de l'Activite</param> /// <param name="lieu">Lieu de l'Activite</param> /// <param name="transport">Moyen de transport pour l'Activite</param> public ExplorationExterieure(TypeActivite typeActivite, String description, TimeMartien debut, TimeMartien fin, Lieu lieu, ITransport transport) : base(typeActivite, description, debut, fin, lieu) { this.transport = transport; }
/// <summary> /// Permet de procéder aux modifications /// </summary> /// <param name="sender">Objet source</param> /// <param name="e">Evènement</param> private void ok_Click(object sender, EventArgs e) { TimeMartien d = new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0); TimeMartien f = new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0); if (d < f || (d > f && f.Equals(new TimeMartien(0)))) { String type = treeView.SelectedNode.Text; journeeAModifier.supprimerActivite(activiteAModifier); try { lieu = new Lieu(int.Parse(lieuTB.Text.Split(';')[0]), int.Parse(lieuTB.Text.Split(';')[1])); } catch { lieu = new Lieu(0, 0); } Activite a; if (exterieurRadio.Checked) { ITransport transport; if (vehiculeRadio.Checked) { transport = new Vehicule(); } else { transport = new Scaphandre(); } if (explorationRadio.Checked) { a = new ExplorationExterieure(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), lieu, transport); } else { a = new ExperienceExterieure(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), lieu, transport); } } else { a = new Activite(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), new Lieu(0, 0)); } if (a.getDuree().getTotalMinutes() > 0) { if (a.getHeureFin().getHeures() == 0 && a.getHeureFin().getMinutes() == 0 && a.getHeureFin().getSecondes() == 0) { a.setHeureFin(new TimeMartien(0, 24, 39, 59)); } /* Découpage activité */ if (activiteAModifier.getHeureFin().getHeures() == 0 && activiteAModifier.getHeureFin().getMinutes() == 0 && activiteAModifier.getHeureFin().getSecondes() == 0) { activiteAModifier.setHeureFin(new TimeMartien(0, 24, 39, 59)); } if (activiteAModifier.getDuree().getTotalMinutes() == 10 || activiteAModifier.getDuree().getTotalMinutes() == 9) { journeeAModifier.ajouterActivite(a); } else if (activiteAModifier.getDuree().getTotalMinutes() == 20 || activiteAModifier.getDuree().getTotalMinutes() == 19) { if (activiteAModifier.getHeureDebut() < a.getHeureDebut()) { activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0)); } else { activiteAModifier.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0)); } journeeAModifier.ajouterActivite(a); journeeAModifier.ajouterActivite(activiteAModifier); } else if (activiteAModifier.getDuree().getTotalMinutes() > 20) { if (activiteAModifier.getHeureDebut() < a.getHeureDebut() && activiteAModifier.getHeureFin() > a.getHeureFin()) { Activite copie = (activiteAModifier.isActiviteExterieure()) ? null : new Activite(activiteAModifier); if (copie == null && activiteAModifier.isExploration()) { copie = new ExplorationExterieure((ExplorationExterieure)activiteAModifier); } else if (copie == null) { copie = new ExperienceExterieure((ExperienceExterieure)activiteAModifier); } activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0)); copie.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0)); journeeAModifier.ajouterActivite(copie); journeeAModifier.ajouterActivite(activiteAModifier); } else if (activiteAModifier.getHeureDebut() < a.getHeureDebut() && activiteAModifier.getHeureFin() == a.getHeureFin()) { activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0)); journeeAModifier.ajouterActivite(activiteAModifier); } else if (activiteAModifier.getHeureDebut() == a.getHeureDebut() && activiteAModifier.getHeureFin() > a.getHeureFin()) { activiteAModifier.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0)); journeeAModifier.ajouterActivite(activiteAModifier); } journeeAModifier.ajouterActivite(a); } if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39 && a.getHeureFin().getSecondes() == 59) { a.setHeureFin(new TimeMartien(0)); } cm.miseAJourEdt(journeeAModifier); dh.Close(); cm.ouvrirDernierDetailHeure(); fermerFenetre(); } else { errDuree.Text = "La durée de l'activité doit être d'au moins 10 minutes"; errDuree.Visible = true; } } else { errDuree.Text = "La date de début doit être inférieure à la date de fin"; errDuree.Visible = true; } }