public void GagneEnergyCoin(Challenge p_challenge, int p_quantite, DateTime p_date, string p_meta) { GainEnergyCoin l_newCoin = new GainEnergyCoin(); l_newCoin.Appartement = this; l_newCoin.Challenge = p_challenge; l_newCoin.Quantite = p_quantite; l_newCoin.Meta = p_meta; l_newCoin.Date = p_date; l_newCoin.Save(); SoldeEnergyCoin += p_quantite; }
protected void SetDataSource() { DateTime l_date = (DateTime)Session["DateCourante"]; // on charge les gains existants List<GainEnergyCoin> l_gains = GainEnergyCoinCollection.LoadByAppartementDate(Appartement.LoadById(new Guid(CurrentAppartement)), l_date).ToList(); // on va compléter avec les challenges qui n'on pas de gain IEnumerable<Challenge> l_missingChallenges = ChallengeCollection.LoadAll() .Where(c => !l_gains.Any(g => g.ChallengeId == c.Id)); foreach (Challenge l_challenge in l_missingChallenges) { GainEnergyCoin l_emptyGain = new GainEnergyCoin(); l_emptyGain.Quantite = 0; l_emptyGain.Challenge = l_challenge; l_emptyGain.Meta = "En savoir plus..."; l_gains.Add(l_emptyGain); } m_rptChallenges.DataSource = l_gains; m_rptChallenges.DataBind(); }