예제 #1
0
        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;
        }
예제 #2
0
        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();
        }