Beispiel #1
0
        public IList <Partecipazione> GetPartecipation(long cdEvento)
        {
            Evento evento = GetEventFromNumber(cdEvento);

            var query = (from iscrizioni in context.EventoGiorniPersonaggios
                         where iscrizioni.CdEvento == cdEvento
                         group iscrizioni by iscrizioni.NumeroPg into element
                         select new { NumeroPG = element.Key, DatiGiorni = element });
            List <Partecipazione> partecipazioni = new List <Partecipazione>();

            foreach (var item in query)
            {
                Partecipazione partecipation = new Partecipazione();
                partecipation.CdEvento = cdEvento;
                partecipation.NumeroPG = item.NumeroPG;
                foreach (var giorno in item.DatiGiorni)
                {
                    partecipation.NumeroGiorni++;
                    partecipation.Giocatore   = giorno.NomeGiocatore;
                    partecipation.Personaggio = giorno.Personaggio.Nome;
                    partecipation.Prezzo     += giorno.EventoGiorni.CostoGiorno.HasValue ? giorno.EventoGiorni.CostoGiorno.Value : 0;
                    partecipation.Pagato      = partecipation.Pagato && giorno.Pagato;
                    partecipation.Partecipato = partecipation.Partecipato && giorno.Partecipato;
                    partecipation.PX         += giorno.EventoGiorni.PuntiAssegnati.HasValue ? giorno.EventoGiorni.PuntiAssegnati.Value : 0;
                }
                if (partecipation.NumeroGiorni == evento.EventoGiornis.Count)
                {
                    partecipation.Prezzo = (float)evento.Costo;
                    partecipation.PX     = evento.PuntiAssegnati;
                }
                if (!partecipation.Partecipato)                 //mostro solo quelli a cui NON sono già stati assegnati i PX.
                {
                    partecipazioni.Add(partecipation);
                }
            }
            return(partecipazioni);
        }
Beispiel #2
0
        public IList<Partecipazione> GetPartecipation(long cdEvento)
        {
            Evento evento = GetEventFromNumber(cdEvento);

            var query = (from iscrizioni in context.EventoGiorniPersonaggios
                         where iscrizioni.CdEvento == cdEvento
                         group iscrizioni by iscrizioni.NumeroPg into element
                         select new { NumeroPG = element.Key, DatiGiorni = element });
            List<Partecipazione> partecipazioni = new List<Partecipazione>();
            foreach (var item in query)
            {
                Partecipazione partecipation = new Partecipazione();
                partecipation.CdEvento = cdEvento;
                partecipation.NumeroPG = item.NumeroPG;
                foreach (var giorno in item.DatiGiorni)
                {
                    partecipation.NumeroGiorni++;
                    partecipation.Giocatore = giorno.NomeGiocatore;
                    partecipation.Personaggio = giorno.Personaggio.Nome;
                    partecipation.Prezzo += giorno.EventoGiorni.CostoGiorno.HasValue ? giorno.EventoGiorni.CostoGiorno.Value : 0;
                    partecipation.Pagato = partecipation.Pagato && giorno.Pagato;
                    partecipation.Partecipato = partecipation.Partecipato && giorno.Partecipato;
                    partecipation.PX += giorno.EventoGiorni.PuntiAssegnati.HasValue ? giorno.EventoGiorni.PuntiAssegnati.Value : 0;
                }
                if (partecipation.NumeroGiorni == evento.EventoGiornis.Count)
                {
                    partecipation.Prezzo = (float)evento.Costo;
                    partecipation.PX = evento.PuntiAssegnati;
                }
                if (!partecipation.Partecipato) //mostro solo quelli a cui NON sono già stati assegnati i PX.
                {
                    partecipazioni.Add(partecipation);
                }
            }
            return partecipazioni;
        }