private void attributionDuneSalleToolStripMenuItem_Click(object sender, EventArgs e) { List <Activite> lesActiviteSansSalle = new List <Activite>(); Activite act = new Activite(); List <Activite> lesActivites = new List <Activite>(); lesActivites = act.InitActivite(); foreach (Activite a in lesActivites) { if (string.IsNullOrEmpty(a.Salle)) { lesActiviteSansSalle.Add(a); } } if (lesActiviteSansSalle.Count != 0) { FormAtributionSalle = new AttributionSalle(); fermerFormFille(); FormAtributionSalle.Text = "Attribuer une salle"; FormAtributionSalle.MdiParent = this; FormAtributionSalle.Show(); } else { MessageBox.Show("Toutes les activitées ont deja des salles"); } }
/// <summary> /// Fait un Read dans la BD sur la table Activite /// </summary> /// <param name="idActivite">l'id de l'activite que l'on veut read</param> /// <returns>une Activite; null sinon</returns> public Activite Read(int idActivite) { Activite activiteModel = null; try { using (MySqlConnection connection = connexion.getConnection()) { connection.Open(); using (MySqlCommand command = new MySqlCommand(ActiviteService.READ_ACTIVITE_QUERY, connection)) { command.Prepare(); command.Parameters.AddWithValue("id", idActivite); using (MySqlDataReader reader = command.ExecuteReader()) { if (reader.Read()) { activiteModel = new Activite(); activiteModel.id = reader.GetInt32("id"); activiteModel.Nom = reader.GetString("nom"); activiteModel.Prix = reader.GetDouble("prix"); activiteModel.Description = reader.GetString("description"); activiteModel.Duree = reader.GetInt32("duree"); activiteModel.Image = reader.GetString("image"); } } } } } catch (MySqlException mysqlException) { System.Diagnostics.Debug.WriteLine(mysqlException.Message); } return(activiteModel); }
public async Task <IActionResult> PutActivite([FromRoute] string id, [FromBody] Activite activite) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != activite.NomActivite) { return(BadRequest()); } _context.Entry(activite).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ActiviteExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public List <Activite> getListActivite() { List <Activite> listAct = new List <Activite>(); SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;Integrated Security=True"); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "GetListActivite"; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Connection = connection; SqlDataReader reader; connection.Open(); reader = cmd.ExecuteReader(); while (reader.Read()) { Activite activite = new Activite(); activite.nom = reader["nom"].ToString(); activite.duree = Int32.Parse(reader["duree"].ToString()); activite.cout = double.Parse(reader["cout"].ToString()); listAct.Add(activite); } connection.Close(); return(listAct); }
public ActionResult Create(Activite act, HttpPostedFileBase activiteResim) { if (ModelState.IsValid) { if (activiteResim != null) { WebImage img = new WebImage(activiteResim.InputStream); FileInfo fotoinfo = new FileInfo(activiteResim.FileName); string newfoto = Guid.NewGuid().ToString() + fotoinfo.Extension; img.Resize(300, 200); img.Save("~/Uploads/" + newfoto); act.activiteResim = "/Uploads/" + newfoto; act.active = true; db.Activites.Add(act); db.SaveChanges(); return(RedirectToAction("Index", "AdminActivite")); } else { ModelState.AddModelError("Fotoğraf", "Fotoğraf Seçiniz"); } } return(View(act)); }
public void accesseursTest() { Activite a = new Activite(new TypeActivite("Toto"), "lel", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); Assert.AreEqual(a.getDescription(), "lel", "getDescription ne renvoie pas le bon résultat"); Assert.AreEqual(a.getDuree(), new TimeMartien(10), "getDuree ne renvoie pas le bon résultat"); Assert.AreEqual(a.getHeureDebut(), new TimeMartien(0), "getHeureDebut ne renvoie pas le bon résultat"); Assert.AreEqual(a.getHeureFin(), new TimeMartien(10), "getHeureFin ne renvoie pas le bon résultat"); Assert.AreEqual(a.getLieu(), new Lieu(0, 0), "getLieu ne renvoie pas le bon résultat"); Assert.AreEqual(a.getNom(), "Toto", "getNom ne renvoie pas le bon résultat"); Assert.AreEqual(a.getTypeActivite(), new TypeActivite("Toto"), "getTypeActivite ne renvoie pas le bon résultat"); Assert.AreEqual(a.isActiviteExterieure(), false, "isActiviteExterieure ne renvoie pas le bon résultat"); Assert.AreEqual(a.isExperience(), false, "isExperience ne renvoie pas le bon résultat"); Assert.AreEqual(a.isExploration(), false, "isExploration ne renvoie pas le bon résultat"); Assert.AreEqual(a.isModifiable(), true, "isModifiable ne renvoie pas le bon résultat"); a.setDescription("ahah"); a.setHeureDebut(new TimeMartien(1)); a.setHeureFin(new TimeMartien(5)); a.setLieu(new Lieu(50, -60)); Assert.AreEqual(a.getDescription(), "ahah", "setDescription ne fonctionne pas"); Assert.AreEqual(a.getDuree(), new TimeMartien(4), "setDuree ne fonctionne pas"); Assert.AreEqual(a.getHeureDebut(), new TimeMartien(1), "setHeureDebut ne fonctionne pas"); Assert.AreEqual(a.getHeureFin(), new TimeMartien(5), "setHeureFin ne fonctionne pas"); Assert.AreEqual(a.getLieu(), new Lieu(50, -60), "setLieu ne fonctionne pas"); String str = ""; for (int i = 0; i < 500; ++i) str += i.ToString(); bool texteOK = a.setDescription(str); Assert.IsFalse(texteOK, "La description dépasse les 400 caractères"); }
public async Task <ActionResult> DeleteConfirmedForLieu(int id) { try { Activite activite = await _applicationDbContext.Activites.FindAsync(id); BusinessRuleResult result = AssoBusinessRules.CanDelete(_applicationDbContext, activite); if (result.Success) { _applicationDbContext.Activites.Remove(activite); await _applicationDbContext.SaveChangesAsync(); return(Json(new { success = result.Success, message = result.Message })); } else { return(Json(new { success = result.Success, message = result.Message })); } } catch (DbUpdateException ex) { return(Json(new { success = false, message = "Suppression impossible. Vérifiez si des Formules sont liées." })); } }
public async Task <IActionResult> Post([FromBody] ActiviteViewModel activite) { if (ModelState.IsValid) { try { Activite _activite = Mapper.Map <Activite>(activite); //_activite.Name = _activite.Name.ToUpper(); _activite.ProcessId = activite.ProcessId; _activite.Process = _unitOfWork.Process.GetSingleOrDefault(e => e.Id == activite.ProcessId); _unitOfWork.Activite.Add(_activite); await _unitOfWork.SaveChangesAsync(); return(Ok("OK")); } catch (Exception ex) { return(BadRequest(ex.Data)); } } else { return(BadRequest(ModelState)); } }
public static string AnnulerActivite(int noActivite, int?noMembreCo, out Activite activite) { ClubContactContext db = new ClubContactContext(); activite = db.Activites.Where(p => p.noActivite == noActivite).Include(m => m.listeAvisActivite).Include(m => m.listePhotosActivites).Include(m => m.membresParticipants).FirstOrDefault(); if (activite == null) { return("Activité non trouvée."); } if (noMembreCo != null) { if (activite.noMembreOrganisateur != noMembreCo) { return("Interdit"); } } try { activite.annulee = true; db.SaveChanges(); return("Reussi"); } catch (Exception e) { throw Utilitaires.templateException("annulerActivite", "Objet Utilitaires.cs", "Suppression de l'activité n'as pas fonctionné.", e); } }
public void EqualsTest() { Activite a = new Activite(new TypeActivite("Toto"), "lel", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); Activite a2 = new Activite(new TypeActivite("Toto"), "lel", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); Assert.IsTrue(a.Equals(a2), "La méthode Equals ne fonctionne pas"); }
public void activiteEnCoursTest() { Activite a = new Activite(new TypeActivite("Toto"), "lel", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); a.activiteEnCours(); Assert.AreEqual(a.getEtat(), Constantes.ETAT_ENCOURS, "L'état de l'activité n'est pas le bon"); }
public async Task <BaseResponseDto <ActiviteDto> > UpdateActivite(Guid Id, Activite activite) { BaseResponseDto <ActiviteDto> getResponse = new BaseResponseDto <ActiviteDto>(); try { if (Id != null) { Activite oldActivite = await _activiteRepository.GetAsync(Id); if (oldActivite != null) { oldActivite.MyUserId = activite.MyUserId; oldActivite.ContenuAct = activite.ContenuAct; oldActivite.DateAct = activite.DateAct; await _activiteRepository.UpdateAsync(oldActivite); } else { return(null); } } else { getResponse.Errors.Add("Activity can't be update."); } } catch (Exception ex) { _logger.LogError(ex, ex.Message); getResponse.Errors.Add(ex.Message); } return(getResponse); }
public async Task <BaseResponseDto <ActiviteDto> > GetActiviteById(Guid Id) { BaseResponseDto <ActiviteDto> getResponse = new BaseResponseDto <ActiviteDto>(); try { Activite activite = await _activiteRepository.GetAsync(Id); if (activite != null) { getResponse.Data = new ActiviteDto { Id = activite.Id, MyUserId = activite.MyUserId, ContenuAct = activite.ContenuAct, DateAct = activite.DateAct }; } else { getResponse.Errors.Add("Activity not found. "); } } catch (Exception ex) { _logger.LogError(ex, ex.Message); getResponse.Errors.Add(ex.Message); } return(getResponse); }
/// <summary> /// Ajouter une Activite /// </summary> /// <param name="a">Une Activite</param> public void ajouterActivite(Activite a) { listeActivites.Add(a); if (a.isActiviteExterieure()) journeeExterieure = true; }
public void trouverActivitesTest() { Journee j = new Journee(); j.setListeActivites(new List <Activite>()); Activite a1 = new Activite(new TypeActivite("Lel1"), "xD1", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); Activite a2 = new Activite(new TypeActivite("Lel2"), "xD2", new TimeMartien(10), new TimeMartien(20), new Lieu(20, 30)); Activite a3 = new Activite(new TypeActivite("Lel3"), "xD3", new TimeMartien(20), new TimeMartien(0, 24, 40, 0), new Lieu(12, 45)); Activite a4 = new Activite(new TypeActivite("Lel4"), "xD4", new TimeMartien(10), new TimeMartien(15), new Lieu(20, 30)); j.ajouterActivite(a1); j.ajouterActivite(a2); j.ajouterActivite(a3); j.ajouterActivite(a4); List <Activite> trouvees = j.trouverActivites(11); Assert.IsNotNull(trouvees, "La fonction trouverActivites ne fonctionne pas"); Assert.IsTrue(a2.Equals(trouvees.Find(e => e.getNom().Equals(a2.getNom()))), "La méthode a trouvé une activité qui ne correspond pas à ce qui est recherché"); Assert.IsTrue(trouvees.Count == 2, "La méthode n'a pas trouvé le bon nombre d'éléments"); trouvees = j.trouverActivites(36); Assert.IsNotNull(trouvees, "La fonction trouverActivites ne fonctionne pas"); Assert.IsTrue(a2.Equals(trouvees.Find(e => e.getNom().Equals(a2.getNom()))), "La méthode a trouvé une activité qui ne correspond pas à ce qui est recherché"); Assert.IsTrue(trouvees.Count == 2, "La méthode n'a pas trouvé le bon nombre d'éléments"); }
public ActionResult Create(ActiviteVM ActiviteVM, HttpPostedFileBase Affiche) { if (!ModelState.IsValid || Affiche == null || Affiche.ContentLength == 0) { RedirectToAction("Create"); } Activite ActiviteDomain = new Activite() { Title = ActiviteVM.Title, Description = ActiviteVM.Description, Affiche = Affiche.FileName, Theme = ActiviteVM.Theme, Outils = ActiviteVM.Outils, AgeMin = ActiviteVM.AgeMin, AgeMax = ActiviteVM.AgeMax, ClassSize = ActiviteVM.ClassSize, Duration = ActiviteVM.Duration, Professor = ActiviteVM.Professor, Start = ActiviteVM.Start, Location = ActiviteVM.Location, // nomuser = User.Identity.GetUserName(), UserId = "f43c21cf-f35a-4897-a9e3-343c00afe7b3" }; activiteService.Add(ActiviteDomain); activiteService.Commit(); var path = Path.Combine(Server.MapPath("~/Content/Uploads"), Affiche.FileName); Affiche.SaveAs(path); return(RedirectToAction("Index")); }
public async Task <IActionResult> PostActivite([FromBody] Activite activite) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Activite.Add(activite); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (ActiviteExists(activite.NomActivite)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } else { throw; } } return(CreatedAtAction("GetActivite", new { id = activite.NomActivite }, activite)); }
public ActionResult Create() { Activite activite = new Activite(); activite.annulee = false; ViewBag.listeProvinces = new SelectList(db.Provinces, "noProvince", "nomProvince", activite.province); ViewBagNecessaireModifierActivite(activite); ViewBag.Create = true; DateTime?abonnementLePlusRecent = null; int noMembreCo; if (verifierSiCookieNoMembreExiste(out noMembreCo)) { abonnementLePlusRecent = db.Abonnements.Where(m => m.noMembre == noMembreCo).OrderByDescending(m => m.dateFin).Select(m => m.dateFin).FirstOrDefault(); } if (abonnementLePlusRecent != null) { ViewBag.finAbonnement = abonnementLePlusRecent; } return(View("Edit", activite)); }
public async Task <Activite> ActiviteDetails(string UID) { try { var activite = (await Firebase .Child("activite") .OnceAsync <Activite>()) .Where(a => a.Object.UID == UID) .Select(item => new Activite() { Nom = item.Object.Nom, Date = item.Object.Date, Encadreur = item.Object.Encadreur, Enfants = item.Object.Enfants, Lieu = item.Object.Lieu }).FirstOrDefault(); var it = new Activite() { Nom = activite.Nom, Date = activite.Date, Encadreur = activite.Encadreur, Enfants = activite.Enfants, Lieu = activite.Lieu }; return(it); } catch (Exception e) { Debug.WriteLine(e.Message); throw; } }
public void trouverActiviteTest() { Journee j = new Journee(); j.setListeActivites(new List <Activite>()); Activite a1 = new Activite(new TypeActivite("Lel1"), "xD1", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); Activite a2 = new Activite(new TypeActivite("Lel2"), "xD2", new TimeMartien(10), new TimeMartien(20), new Lieu(20, 30)); Activite a3 = new Activite(new TypeActivite("Lel3"), "xD3", new TimeMartien(20), new TimeMartien(0, 24, 40, 0), new Lieu(12, 45)); Activite a4 = new Activite(new TypeActivite("Lel4"), "xD4", new TimeMartien(10), new TimeMartien(15), new Lieu(20, 30)); j.ajouterActivite(a1); j.ajouterActivite(a2); j.ajouterActivite(a3); j.ajouterActivite(a4); Assert.IsNull(j.trouverActivite(null, true), "On ne peut pas rechercher quelque chose de null"); Activite trouve = j.trouverActivite(new TimeMartien(8), true); Assert.IsNotNull(trouve, "La fonction trouverActivite ne fonctionne pas"); Assert.IsTrue(trouve.getNom().Equals(a1.getNom()), "La méthode a trouvé une activité qui ne correspond pas à ce qui est recherché"); trouve = j.trouverActivite(new TimeMartien(0), false); Assert.IsNotNull(trouve, "La fonction trouverActivite ne fonctionne pas"); Assert.IsTrue(trouve.getNom().Equals(a3.getNom()), "La méthode a trouvé une activité qui ne correspond pas à ce qui est recherché"); }
public static BusinessRuleResult CanDelete(ApplicationDbContext context, Activite activite) { if (activite == null) { return new BusinessRuleResult { Success = false, Message = "L'activité n'existe pas." } } ; bool hasFormules = context.Formules.Where(f => f.ActiviteId == activite.ActiviteId) .Any(); if (hasFormules) { return new BusinessRuleResult() { Success = false, Message = "L'activté ne peut être supprimée car des formules y sont liées." } } ; else { return new BusinessRuleResult() { Success = true } }; }
public async Task <IActionResult> Edit(int id, [Bind("ActiviteId,Nom,Description,NbEnfantsMax,Lieu,Visible")] Activite activite) { if (id != activite.ActiviteId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(activite); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ActiviteExists(activite.ActiviteId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(activite)); }
public async Task <IActionResult> Delete(int id) { if (ModelState.IsValid) { try { Activite _activite = _unitOfWork.Activite.GetSingleOrDefault(e => e.Id == id); if (_activite != null) { _unitOfWork.Activite.Remove(_activite); await _unitOfWork.SaveChangesAsync(); return(Ok("OK")); } else { return(BadRequest()); } } catch (Exception ex) { return(BadRequest(ex.Data)); } } else { return(BadRequest(ModelState)); } }
public IHttpActionResult PutActivite(int id, Activite activite) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != activite.Id) { return(BadRequest()); } db.Entry(activite).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ActiviteExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public void ajouterActiviteTest() { Journee j = new Journee(); Activite a = new Activite(new TypeActivite("Lel"), "xD", new TimeMartien(0, 0, 0, 0), new TimeMartien(1, 2, 3, 4), new Lieu(0, 0)); j.ajouterActivite(a); Assert.IsNotNull(j.getActivites(), "L'ajout d'activité a échoué"); }
public ActionResult DeleteConfirmed(int id) { Activite activite = db.Activites.Find(id); db.Activites.Remove(activite); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <ActionResult> DeleteConfirmed(int id) { Activite activite = await db.Activites.FindAsync(id); db.Activites.Remove(activite); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public ActionResult Delete(int id, FormCollection collection) { Activite p = activiteService.GetById(id); activiteService.Delete(p); activiteService.Commit(); // TODO: Add delete logic here return(RedirectToAction("Index")); }
public ActionResult CreateForLieu(int lieuId) { ViewBag.CategorieActiviteId = new SelectList(_applicationDbContext.CategoriesActivite, "Id", "CategorieActiviteNom"); Activite activite = new Activite(); activite.DateDebut = DateTime.Now; activite.DateFin = DateTime.Now.AddMonths(1); activite.LieuId = lieuId; return(PartialView("_CreateForLieu", activite)); }
public static void Persist(Activite activite, IEnumerable <int> territoireIds) { territoireIds.Each(id => { PrestationTerritoireDAO.AddActivite(activite.PrestationID, id, new Activite() { Nom = activite.Nom, PrestationID = activite.PrestationID, TerritoireID = id }); }); }
public void AjouterActivite(String nom_activite, int capacite, String date_debut, String date_fin, double prix_unitaire, double montant_prevu, double montant_actuel, String categorie, String nomOrganisateur, String date_debut_inscription, String date_fin_inscription, int nbr_point) { DateValue dDebut = new DateValue(date_debut); DateValue dFin = new DateValue(date_fin); DateValue dDebutInscription = new DateValue(date_debut_inscription); DateValue dFinInscription = new DateValue(date_fin_inscription); if ((int.Parse(dDebut.getYear()) != bDA.LastYear()) || (int.Parse(dFin.getYear()) != bDA.LastYear()) || (int.Parse(dDebutInscription.getYear()) != bDA.LastYear()) || (int.Parse(dFinInscription.getYear()) != bDA.LastYear())) { MessageBox.Show("Nous sommes en " + bDA.LastYear() + " ", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { DateTime debut = new DateTime(int.Parse(dDebut.getYear()), int.Parse(dDebut.getMonth()), int.Parse(dDebut.getDay())); DateTime fin = new DateTime(int.Parse(dFin.getYear()), int.Parse(dFin.getMonth()), int.Parse(dFin.getDay())); DateTime debutInscription = new DateTime(int.Parse(dDebutInscription.getYear()), int.Parse(dDebutInscription.getMonth()), int.Parse(dDebutInscription.getDay())); DateTime finInscription = new DateTime(int.Parse(dFinInscription.getYear()), int.Parse(dFinInscription.getMonth()), int.Parse(dFinInscription.getDay())); int r1 = DateTime.Compare(debut, fin); int r2 = DateTime.Compare(debutInscription, finInscription); int r3 = DateTime.Compare(finInscription, debut); if (r1 != -1) { MessageBox.Show("La date de début d'activité doit être antérieur que la date fin d'activité", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (r2 != -1) { MessageBox.Show("La date de début d'inscription doit être antérieur que la date fin d'inscription", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (r3 != -1) { MessageBox.Show("La date de fin d'inscription doit être antérieur que la date début d'activité", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { a = new Activite(0, nom_activite, capacite, 0, date_debut, date_fin, prix_unitaire, montant_prevu, montant_actuel, getIdBudgetCat(categorie), oDA.findIdByNomOrganisateur(nomOrganisateur), date_debut_inscription, date_fin_inscription, nbr_point); Boolean test = aDA.insert(a); if (test == true) { Thread thread = new Thread(() => mailing(nom_activite, date_debut, date_fin)); thread.Start(); MessageBox.Show("L'ajout d'une activité effectué avec succès", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(" Erreur ! Vérifiez les valeurs des champs", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } }
public async Task <IActionResult> Create([Bind("ActiviteId,Nom,Description,NbEnfantsMax,Lieu,Visible")] Activite activite) { if (ModelState.IsValid) { _context.Add(activite); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(activite)); }
/// <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> /// 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> /// Ajoute une nouvelle activite à la liste à l'aide d'une nouvelle fenêtre /// </summary> public Activite Add() { //Affichage du message "ajout en cours" ((App)App.Current)._theMainWindow.parametreMain.progressBarMainWindow.IsIndeterminate = true; ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Ajout d'une activité en cours ..."; //Initialisation de la fenêtre ActiviteWindow activiteWindow = new ActiviteWindow(); //Création de l'objet temporaire Activite tmp = new Activite(); //Mise de l'objet temporaire dans le datacontext activiteWindow.DataContext = tmp; //booléen nullable vrai ou faux ou null bool? dialogResult = activiteWindow.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value == true) { //Si j'appuie sur le bouton Ok, je renvoi l'objet DAO se trouvant dans le datacontext de la fenêtre return (Activite)activiteWindow.DataContext; } else { try { //On détache la commande ((App)App.Current).mySitaffEntities.Detach((Activite)activiteWindow.DataContext); } catch (Exception) { } //Si j'appuie sur le bouton annuler, je préviens que j'annule mon ajout ((App)App.Current)._theMainWindow.parametreMain.progressBarMainWindow.IsIndeterminate = false; this.recalculMax(); ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Ajout d'une activité annulée : " + this.mesActivites.Count() + " / " + this.max; return null; } }
/// <summary> /// Supprimer une Activite /// </summary> /// <param name="a">Une Activite</param> public void supprimerActivite(Activite d) { // Le Remove n'a pas été utilisé à cause d'un bug inconnu // qui supprime la mauvaise Activite dans un seul cas précis... listeActivites.Remove(d); journeeExterieure = mettreAJourJourneeExterieure(); }
/// <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> /// Met à jour l'état en bas pour l'utilisateur /// </summary> /// <param name="typeEtat">texte : "Filtrage", "Ajout", "Modification", "Suppression", "Look", "" ("" = Chargement)</param> /// <param name="dao">un objet Commande_Fournisseur soit pour l'ajouter au listing, soit pour afficher qui a été modifié ou supprimé</param> public void MiseAJourEtat(string typeEtat, Activite act) { //Je racalcul le nombre max d'élements this.recalculMax(); //En fonction de l'action, j'affiche le message if (typeEtat == "Filtrage") { ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "filtrage des activités terminée : " + this.mesActivites.Count() + " / " + this.max; } else if (typeEtat == "Ajout") { //J'ajoute la commande_fournisseur dans le linsting this.mesActivites.Add(act); //Je racalcul le nombre max d'élements après l'ajout this.recalculMax(); ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Ajout d'une activité dénommée '" + act.Libelle + "' effectué avec succès. Nombre d'élements : " + this.mesActivites.Count() + " / " + this.max; } else if (typeEtat == "Modification") { //Je raffraichis mon datagrid this._DataGridMain.Items.Refresh(); ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Modification de l'activité dénommée : '" + act.Libelle + "' effectuée avec succès. Nombre d'élements : " + this.mesActivites.Count() + " / " + this.max; } else if (typeEtat == "Suppression") { //Je supprime de mon listing l'élément supprimé this.mesActivites.Remove(act); //Je racalcul le nombre max d'élements après la suppression this.recalculMax(); ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Suppression de l'activité dénommée : '" + act.Libelle + "' effectuée avec succès. Nombre d'élements : " + this.mesActivites.Count() + " / " + this.max; } else if (typeEtat == "Look") { } else { ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Chargement des activités terminé : " + this.mesActivites.Count() + " / " + this.max; } //Je retri les données dans le sens par défaut this.triDatas(); //J'arrete la progressbar ((App)App.Current)._theMainWindow.parametreMain.progressBarMainWindow.IsIndeterminate = false; }
public void trouverActiviteTest() { Journee j = new Journee(); j.setListeActivites(new List<Activite>()); Activite a1 = new Activite(new TypeActivite("Lel1"), "xD1", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); Activite a2 = new Activite(new TypeActivite("Lel2"), "xD2", new TimeMartien(10), new TimeMartien(20), new Lieu(20, 30)); Activite a3 = new Activite(new TypeActivite("Lel3"), "xD3", new TimeMartien(20), new TimeMartien(0, 24, 40, 0), new Lieu(12, 45)); Activite a4 = new Activite(new TypeActivite("Lel4"), "xD4", new TimeMartien(10), new TimeMartien(15), new Lieu(20, 30)); j.ajouterActivite(a1); j.ajouterActivite(a2); j.ajouterActivite(a3); j.ajouterActivite(a4); Assert.IsNull(j.trouverActivite(null, true), "On ne peut pas rechercher quelque chose de null"); Activite trouve = j.trouverActivite(new TimeMartien(8), true); Assert.IsNotNull(trouve, "La fonction trouverActivite ne fonctionne pas"); Assert.IsTrue(trouve.getNom().Equals(a1.getNom()), "La méthode a trouvé une activité qui ne correspond pas à ce qui est recherché"); trouve = j.trouverActivite(new TimeMartien(0), false); Assert.IsNotNull(trouve, "La fonction trouverActivite ne fonctionne pas"); Assert.IsTrue(trouve.getNom().Equals(a3.getNom()), "La méthode a trouvé une activité qui ne correspond pas à ce qui est recherché"); }
public void supprimerActiviteTest() { Journee j = new Journee(); Activite a = new Activite(new TypeActivite("Lel"), "xD", new TimeMartien(0, 0, 0, 0), new TimeMartien(1, 2, 3, 4), new Lieu(0, 0)); j.ajouterActivite(a); j.supprimerActivite(a); Activite actSuppr = j.getActivites().Find(e => (e.getNom().Equals(a.getNom()) && e.getDescription().Equals(a.getDescription()))); Assert.IsNull(actSuppr, "La suppression d'activité a échoué"); }
/// <summary> /// Stocke dans une liste l'activité si elle se trouve en extérieur /// </summary> /// <param name="a">Une activité</param> private void activiteExterieure(Activite a) { lieuxADessiner.Clear(); if (a.isActiviteExterieure()) lieuxADessiner.Add(a.getLieu()); }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="a">Activiter à détailler</param> public InfoActivite(Activite a) { if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39) a.setHeureFin(new TimeMartien(0)); InitializeComponent(); activiteSelectionnee = a; debutHeure.Value = activiteSelectionnee.getHeureDebut().getHeures(); finHeure.Value = activiteSelectionnee.getHeureFin().getHeures(); debutMinute.Value = activiteSelectionnee.getHeureDebut().getMinutes(); finMinute.Value = activiteSelectionnee.getHeureFin().getMinutes(); debutHeure.Minimum = debutHeure.Value; finHeure.Maximum = (finHeure.Value == 0) ? 24 : finHeure.Value; finHeure.Minimum = (finHeure.Value == 0) ? 0 : debutHeure.Value; if (finHeure.Value == 0 && finMinute.Value == 0) { finHeure.Value = 24; finMinute.Value = 40; } debutHeure.Maximum = finHeure.Value; foreach (Domaine d in CalendrierMission.domaines) { TreeNode tn = treeView.Nodes.Add(d.getNom()); foreach (TypeActivite ta in d.getActivites()) tn.Nodes.Add(ta.getNom()); } 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; treeView.ExpandAll(); foreach (TreeNode tn in treeView.Nodes) foreach (TreeNode tnn in tn.Nodes) if (tnn.Text.Equals(a.getNom())) treeView.SelectedNode = tnn; lieuTB.Text = activiteSelectionnee.getLieu().ToString(); }
public void trouverActivitesTest() { Journee j = new Journee(); j.setListeActivites(new List<Activite>()); Activite a1 = new Activite(new TypeActivite("Lel1"), "xD1", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); Activite a2 = new Activite(new TypeActivite("Lel2"), "xD2", new TimeMartien(10), new TimeMartien(20), new Lieu(20, 30)); Activite a3 = new Activite(new TypeActivite("Lel3"), "xD3", new TimeMartien(20), new TimeMartien(0, 24, 40, 0), new Lieu(12, 45)); Activite a4 = new Activite(new TypeActivite("Lel4"), "xD4", new TimeMartien(10), new TimeMartien(15), new Lieu(20, 30)); j.ajouterActivite(a1); j.ajouterActivite(a2); j.ajouterActivite(a3); j.ajouterActivite(a4); List<Activite> trouvees = j.trouverActivites(11); Assert.IsNotNull(trouvees, "La fonction trouverActivites ne fonctionne pas"); Assert.IsTrue(a2.Equals(trouvees.Find(e => e.getNom().Equals(a2.getNom()))), "La méthode a trouvé une activité qui ne correspond pas à ce qui est recherché"); Assert.IsTrue(trouvees.Count == 2, "La méthode n'a pas trouvé le bon nombre d'éléments"); trouvees = j.trouverActivites(36); Assert.IsNotNull(trouvees, "La fonction trouverActivites ne fonctionne pas"); Assert.IsTrue(a2.Equals(trouvees.Find(e => e.getNom().Equals(a2.getNom()))), "La méthode a trouvé une activité qui ne correspond pas à ce qui est recherché"); Assert.IsTrue(trouvees.Count == 2, "La méthode n'a pas trouvé le bon nombre d'éléments"); }
/// <summary> /// Permet de supprimer une activité /// </summary> /// <param name="sender">Objet source</param> /// <param name="e">Evènement</param> private void Supprimer_Click(object sender, EventArgs e) { Activite act = journee.trouverActivite(new TimeMartien(0, heureSelectionnee, minuteSelectionnee, 0), ((heureSelectionnee == 0 && minuteSelectionnee == 0) ? true : false)); if (act.isModifiable()) { Activite activiteAModifier = act; Activite a = new Activite(new TypeActivite("Privé"), "", new TimeMartien(0, activiteAModifier.getHeureDebut().getHeures(), activiteAModifier.getHeureDebut().getMinutes(), 0), new TimeMartien(0, activiteAModifier.getHeureFin().getHeures(), activiteAModifier.getHeureFin().getMinutes(), 0), new Lieu(0, 0)); journee.supprimerActivite(activiteAModifier); journee.ajouterActivite(a); this.Close(); cm.ouvrirDernierDetailHeure(); cm.miseAJourEdt(journee); } }
public void couleurActiviteTest() { Activite a = new Activite(new TypeActivite("Toto"), "lel", new TimeMartien(0), new TimeMartien(10), new Lieu(0, 0)); int[] colP = Constantes.COULEUR_PASSE; int[] colEC = Constantes.COULEUR_ENCOURS; int[] colF = Constantes.COULEUR_FUTUR; a.activitePassee(); Assert.AreEqual(a.couleurActivite(), colP, "La couleur de l'activité n'est pas la bonne"); a.activiteEnCours(); Assert.AreEqual(a.couleurActivite(), colEC, "La couleur de l'activité n'est pas la bonne"); a.activiteAVenir(); Assert.AreEqual(a.couleurActivite(), colF, "La couleur de l'activité n'est pas la bonne"); }