/// <summary> /// Charge la liste des tireurs et l'insère dans l'olv /// </summary> private void ChargerListeTireurs() { ListeTireur listeTireur = new ListeTireur(); listeTireur.GetAllTireurs(); olvTireur.SetObjects(listeTireur); }
private void OlvFormatage() { //Formatte la moyenne de grouping this.colMoyenneGrouping.AspectGetter = delegate(object x) { Equipe equipeCourante = (Equipe)x; ListeTireur listeTireur = new ListeTireur(); foreach (Tireur tireurCourant in m_olvTireur.Objects) { if (tireurCourant.IdEquipe == equipeCourante.Id) { listeTireur.Add(tireurCourant); } } float moyenne = equipeCourante.MoyenneGrouping(listeTireur); if (moyenne > 6) { return("-"); } else { return(String.Format("{0:F}", moyenne)); } }; //Format la moyenne de précision this.colMoyennePrecision.AspectGetter = delegate(object x) { Equipe equipeCourante = (Equipe)x; ListeTireur listeTireur = new ListeTireur(); foreach (Tireur tireurCourant in m_olvTireur.Objects) { if (tireurCourant.IdEquipe == equipeCourante.Id) { listeTireur.Add(tireurCourant); } } float moyenne = equipeCourante.MoyennePrecision(listeTireur); if (moyenne < 0) { return("-"); } else { return(String.Format("{0:F}%", moyenne)); } }; }
private void mnuEquipes_Click(object sender, EventArgs e) { ListeTireur colTireur = new ListeTireur(); foreach (Tireur tireurCourant in olvTireur.Objects) { colTireur.Add(tireurCourant); } new FrmEquipe(olvTireur, colTireur, m_colEquipe).ShowDialog(); }
/// <summary> /// Obtient une liste de tous les joueurs dans une équipe /// </summary> /// <param name="pIdEquipe">Id de l'équipe, ou 0 pour les tireurs sans équipe</param> /// <returns>Liste de tireur membre de l'équipe</returns> public ListeTireur GetTireurDansEquipe(int pIdEquipe) { ListeTireur listeEquipe = new ListeTireur(); foreach (Tireur tireurCourant in this) { if (tireurCourant.IdEquipe == pIdEquipe) { listeEquipe.Add(tireurCourant); } } return(listeEquipe); }
/// <summary> /// Crée un formulaire pour modifier les équipes /// </summary> /// <param name="pColTireurs">Collection de tous les tireurs</param> /// <param name="pColEquipe">Collection de toutes les équipes</param> public FrmEquipe(BrightIdeasSoftware.ObjectListView PolvPrincipal, ListeTireur pColTireurs, ListeEquipe pColEquipe) { InitializeComponent(); m_olvPrincipal = PolvPrincipal; m_colTireur = pColTireurs; m_colEquipe = pColEquipe; OlvFormatage(); AfficherTireurs(); AfficherEquipes(); }
/// <summary> /// Supprime l'équipe de la base de donnée et retire les tireurs de l'équipe /// </summary> /// <param name="pListeTireurs">Liste de tous les tireurs</param> public void Delete(ListeTireur pListeTireurs) { using (SqlCeConnection con = new SqlCeConnection(BaseDeDonnee.InfoConnexion)) { con.Open(); //Retire le tireur de la base de donnée using (SqlCeCommand com = new SqlCeCommand("DELETE FROM equipes WHERE id=@idEquipe", con)) { com.Parameters.AddWithValue("@idEquipe", m_id); com.ExecuteNonQuery(); } } foreach (Tireur tireurCourant in pListeTireurs) { if (tireurCourant.IdEquipe == Id) { tireurCourant.IdEquipe = 0; } } }
/// <summary> /// Lorsque l'on double click sur un joueur sans équipe /// </summary> private void lsbTireurs_MouseDoubleClick(object sender, MouseEventArgs e) { if (lsbTireurs.SelectedIndex == -1) { return; } if (cboEquipeAfficher.SelectedIndex == -1) { return; } ListeTireur colTireur = m_colTireur.GetTireurDansEquipe(0); Equipe equipeSel = m_colEquipe.EquipeAt(cboEquipeAfficher.SelectedItem.ToString()); colTireur[lsbTireurs.SelectedIndex].IdEquipe = equipeSel.Id; olvTireur.AddObject(colTireur[lsbTireurs.SelectedIndex]); m_olvPrincipal.UpdateObject(colTireur[lsbTireurs.SelectedIndex]); AfficherTireurs(); }
/// <summary> /// Calcule la moyenne de précision pour l'équipe /// </summary> /// <param name="pColTireur">Collection de joueurs</param> /// <returns>Moyenne des cibles de précision</returns> public float MoyennePrecision(ListeTireur pColTireur) { float total = 0; float nbTireurs = 0; foreach (Tireur tireurCourant in pColTireur) { if (tireurCourant.IdEquipe == Id) { float moyenneTireur = tireurCourant.ColCiblePrecision.Moyenne(); if (moyenneTireur > -1) { total += moyenneTireur; } nbTireurs++; } } if (nbTireurs == 0) { return(-1); } return(total / nbTireurs); }
/// <summary> /// Calcule la moyenne de grouping pour l'équipe /// </summary> /// <param name="pColTireur">Collection de joueurs</param> /// <returns>Moyenne des cibles de grouping</returns> public float MoyenneGrouping(ListeTireur pColTireur) { float total = 0; float nbTireurs = 0; foreach (Tireur tireurCourant in pColTireur) { if (tireurCourant.IdEquipe == Id) { float moyenneTireur = tireurCourant.ColCibleGrouping.Moyenne(); if (moyenneTireur < 7) { total += moyenneTireur; } nbTireurs++; } } if (nbTireurs == 0) { return(7); } return(total / nbTireurs); }