Beispiel #1
0
        /// <summary>
        /// Retourne l'ensemble des participations d'une personne aux listes pour un évènement donné
        /// </summary>
        /// <param name="p"></param>
        /// <param name="p_2"></param>
        /// <returns></returns>
        public List <Participation> getAllParticipations(int pId_personne, int pId_evt)
        {
            String sql = "SELECT pa.id_participation, l.id_liste, l.id_personne, pa.participation "
                         + "from \"personnes\" pe, \"listeCadeaux\" l "
                         + "LEFT OUTER JOIN \"participations\" pa "
                         + "ON pa.id_liste = l.id_liste AND pa.id_personne = " + pId_personne + " "
                         + "WHERE l.id_evenement = " + pId_evt + " AND pe.id_personne = l.id_personne AND pe.id_personne != " + pId_personne + " AND pa.id_participation is not null;";

            try
            {
                DataTable dt = conn.getConnection(sql);

                List <Participation> listeRetour = new List <Participation>();

                foreach (DataRow row in dt.Rows)
                {
                    Participation participation = new Participation();
                    participation.id_participation = (int.Parse(row.ItemArray.GetValue(0).ToString()));
                    participation.id_liste         = (int.Parse(row.ItemArray.GetValue(1).ToString()));
                    participation.id_personne      = pId_personne;
                    participation.participation    = (long.Parse(row.ItemArray.GetValue(3).ToString()));

                    PersonneDAL persService = new PersonneDAL();
                    participation.personne = persService.getInfosPersonne(participation.id_personne);

                    listeRetour.Add(participation);
                }

                return(listeRetour);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="p"></param>
        /// <returns></returns>
        public List <Participation> getListeParticipation(int id_liste)
        {
            String sql = "SELECT * FROM \"participations\" "
                         + "WHERE id_liste = " + id_liste + ";";

            try
            {
                DataTable dt = conn.getConnection(sql);

                List <Participation> listeRetour = new List <Participation>();

                foreach (DataRow row in dt.Rows)
                {
                    Participation participation = new Participation();
                    participation.id_participation = (int.Parse(row.ItemArray.GetValue(0).ToString()));
                    participation.id_liste         = (int.Parse(row.ItemArray.GetValue(1).ToString()));
                    participation.id_personne      = (int.Parse(row.ItemArray.GetValue(2).ToString()));
                    participation.participation    = (long.Parse(row.ItemArray.GetValue(3).ToString()));

                    PersonneDAL persService = new PersonneDAL();
                    participation.personne = persService.getInfosPersonne(participation.id_personne);

                    listeRetour.Add(participation);
                }

                return(listeRetour);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Créé une liste d'idées cadeaux à partir d'une personne, d'un évènement, et on ajoute l'info si la personne aura une liste.
        /// </summary>
        /// <param name="pId_personne"></param>
        /// <param name="pId_evt"></param>
        /// <param name="pIsListeActive"></param>
        /// <returns></returns>
        public ListeIdeesCadeaux creerListeIdeesCadeaux(int pId_personne, int pId_evt, Boolean pIsListeActive)
        {
            try
            {
                connection = new ConnectionBase();
                String sql = "SELECT creerlistecadeaux(" + pId_personne + "," + pId_evt + "," + (pIsListeActive ? 1 : 0) + "); commit; ";

                String sql2 = "SELECT l.id_liste, l.id_personne, l.date_creation_liste, l.id_evenement, l.liste_active "
                              + "FROM \"listeCadeaux\" l WHERE l.id_personne = " + pId_personne + " AND l.id_evenement = " + pId_evt + ";";

                DataTable dt2 = connection.getConnection(sql);

                if (dt2.Rows[0].ItemArray.GetValue(0).ToString() != "OK")
                {
                    throw new Exception("La création de la liste de cadeaux ne s'est pas bien passée");
                }

                DataTable dt = connection.getConnection(sql2);

                ListeIdeesCadeaux listeIdeesCadeaux = new ListeIdeesCadeaux();


                PersonneDAL personneService = new PersonneDAL();
                Personne    personneListe   = new Personne();

                //On met l'id de la liste d'idées
                listeIdeesCadeaux.id_listeIdeesCadeaux = (int.Parse(dt.Rows[0].ItemArray.GetValue(0).ToString()));

                //On récupère les infos du propriétaire de la liste
                personneListe = personneService.getInfosPersonne(int.Parse(dt.Rows[0].ItemArray.GetValue(1).ToString()));
                listeIdeesCadeaux.listeIdeesCadeauxPour = personneListe;

                //On met la date de création de la liste
                listeIdeesCadeaux.dateCreationListe = (DateTime.Parse(dt.Rows[0].ItemArray.GetValue(2).ToString()));

                DAL_Evenement evenementService = new DAL_Evenement();
                Evenement     evtAssocie       = new Evenement();

                //On récupère l'évènement associé à la liste - on part du principe de base que chaque liste n'appartient qu'à un évènement
                evtAssocie = evenementService.getEvenementById(int.Parse(dt.Rows[0].ItemArray.GetValue(3).ToString()));
                listeIdeesCadeaux.listePourEvenement = evtAssocie;

                listeIdeesCadeaux.isListeActive = pIsListeActive;

                return(listeIdeesCadeaux);
            }
            catch (Exception)
            {
                throw new Exception("La liste ne peut être créée.");
            }
        }
Beispiel #4
0
        /// <summary>
        /// Récupère la liste des idées de cadeaux complétée par les cadeaux, les votes, les liens
        /// </summary>
        /// <param name="pId_listeIdeesCadeaux"></param>
        /// <returns>Un objet complet ListeIdeesCadeaux</returns>
        public ListeIdeesCadeaux getListeIdeesCadeaux(int pId_listeIdeesCadeaux)
        {
            String sql = "SELECT l.id_liste, l.id_personne, l.date_creation_liste, l.id_evenement, l.liste_active "
                         + "FROM \"listeCadeaux\" l "
                         + "WHERE l.id_liste = " + pId_listeIdeesCadeaux + ";";

            try{
                ConnectionBase connection2 = new ConnectionBase();
                DataTable      dt          = connection2.getConnection(sql);

                ListeIdeesCadeaux listeIdeesCadeaux = new ListeIdeesCadeaux();

                PersonneDAL personneService = new PersonneDAL();
                Personne    personneListe   = new Personne();

                //On met l'id de la liste d'idées
                listeIdeesCadeaux.id_listeIdeesCadeaux = pId_listeIdeesCadeaux;

                //On récupère les infos du propriétaire de la liste
                personneListe = personneService.getInfosPersonne(int.Parse(dt.Rows[0].ItemArray.GetValue(1).ToString()));
                listeIdeesCadeaux.listeIdeesCadeauxPour = personneListe;

                //On met la date de création de la liste
                listeIdeesCadeaux.dateCreationListe = (DateTime.Parse(dt.Rows[0].ItemArray.GetValue(2).ToString()));

                DAL_Evenement evenementService = new DAL_Evenement();
                Evenement     evtAssocie       = new Evenement();

                //On récupère l'évènement associé à la liste - on part du principe de base que chaque liste n'appartient qu'à un évènement
                evtAssocie = evenementService.getEvenementById(int.Parse(dt.Rows[0].ItemArray.GetValue(3).ToString()));
                listeIdeesCadeaux.listePourEvenement = evtAssocie;

                listeIdeesCadeaux.isListeActive = "1".Equals(dt.Rows[0].ItemArray.GetValue(4).ToString());

                //On récupère maintenant l'ensemble des cadeaux associés à cette liste
                listeIdeesCadeaux.listeDeCadeaux = getListeIdeesCadeauxPourListe(listeIdeesCadeaux.id_listeIdeesCadeaux);


                return(listeIdeesCadeaux);
            }
            catch (Exception)
            {
                throw new Exception("La liste ne peut être créée.");
            }
        }
        /// <summary>
        /// Fonction récupérant une ideeCadeau à partir de l'id de l'idée de cadeau
        /// </summary>
        /// <param name="pId_ideeCadeau"></param>
        /// <returns></returns>
        public IdeeCadeau getIdeeCadeauById(int pId_ideeCadeau)
        {
            String sql = "SELECT i.\"id_ideecadeau\", i.\"id_personne\", i.\"id_cadeau\", i.\"priorite\", i.\"propose_par\" "
                         + "FROM \"ideesCadeaux\" i "
                         + "WHERE i.\"id_ideecadeau\" = " + pId_ideeCadeau + ";";

            ConnectionBase connection = new ConnectionBase();

            IdeeCadeau ideeCadeauRetour = new IdeeCadeau();

            try
            {
                DataTable dt = connection.getConnection(sql);


                ideeCadeauRetour.id_ideeCadeau = pId_ideeCadeau;

                //Récupération des infos de la personne pour laquelle il s'agit du cadeau
                PersonneDAL personneService = new PersonneDAL();
                ideeCadeauRetour.ideeCadeauPour = personneService.getInfosPersonne(int.Parse(dt.Rows[0].ItemArray.GetValue(1).ToString()));

                CadeauDAL cadeauService = new CadeauDAL();
                ideeCadeauRetour.cadeau = cadeauService.getInfosCadeau(int.Parse(dt.Rows[0].ItemArray.GetValue(2).ToString()));

                ideeCadeauRetour.priorite = dt.Rows[0].ItemArray.GetValue(3).ToString();

                //Ce paramètre sera vide dans le cas où il ne s'agit pas d'une suggestion
                if (StringUtils.estNonNullNiVide(dt.Rows[0].ItemArray.GetValue(4).ToString()))
                {
                    ideeCadeauRetour.proposePar = personneService.getInfosPersonne(int.Parse(dt.Rows[0].ItemArray.GetValue(4).ToString()));
                }

                return(ideeCadeauRetour);
            }
            catch (Exception)
            {
                throw new Exception("Erreur lors de la récupération de la liste de cadeaux");
            }
        }
Beispiel #6
0
        /// <summary>
        /// Récupère la liste des idées de cadeaux complétée par les cadeaux, les votes, les liens
        /// </summary>
        /// <param name="pId_listeIdeesCadeaux"></param>
        /// <returns>Un objet complet ListeIdeesCadeaux</returns>
        public ListeIdeesCadeaux getListeIdeesCadeauxLight(int pId_listeIdeesCadeaux)
        {
            String sql = "SELECT l.id_liste, l.id_personne, l.date_creation_liste, l.id_evenement, l.liste_active "
                         + "FROM \"listeCadeaux\" l "
                         + "WHERE l.id_liste = " + pId_listeIdeesCadeaux + ";";

            try
            {
                connection = new ConnectionBase();
                DataTable dt = connection.getConnection(sql);

                ListeIdeesCadeaux listeIdeesCadeaux = new ListeIdeesCadeaux();

                PersonneDAL personneService = new PersonneDAL();
                Personne    personneListe   = new Personne();

                //On met l'id de la liste d'idées
                listeIdeesCadeaux.id_listeIdeesCadeaux = pId_listeIdeesCadeaux;

                //On récupère les infos du propriétaire de la liste
                personneListe = personneService.getInfosPersonne(int.Parse(dt.Rows[0].ItemArray.GetValue(1).ToString()));
                listeIdeesCadeaux.listeIdeesCadeauxPour = personneListe;

                DAL_Evenement evenementService = new DAL_Evenement();
                Evenement     evtAssocie       = new Evenement();

                evtAssocie.id_evenement = int.Parse(dt.Rows[0].ItemArray.GetValue(3).ToString());
                listeIdeesCadeaux.listePourEvenement = evtAssocie;

                listeIdeesCadeaux.isListeActive = "1".Equals(dt.Rows[0].ItemArray.GetValue(4).ToString());

                return(listeIdeesCadeaux);
            }
            catch (Exception)
            {
                throw new Exception("La liste ne peut être créée.");
            }
        }
        public List <Vote> getListeVoteByIdeeCadeau(int id_ideeCadeau)
        {
            String sql = "SELECT v.id_vote, "
                         + " v.id_personne,"
                         + " v.vote,"
                         + " v.participation"
                         + "FROM \"votes\" v "
                         + "WHERE v.id_ideecadeau = " + id_ideeCadeau + ";";

            try
            {
                List <Vote> listeVoteRetour = new List <Vote>();

                DataTable dt = conn.getConnection(sql);

                foreach (DataRow row in dt.Rows)
                {
                    Vote voteRetour = new Vote();

                    voteRetour.id_vote = int.Parse(row.ItemArray.GetValue(0).ToString());

                    //On récupère les informations sur le votant
                    PersonneDAL personneService = new PersonneDAL();
                    voteRetour.voteDe = personneService.getInfosPersonne(int.Parse(row.ItemArray.GetValue(1).ToString()));

                    voteRetour.vote          = int.Parse(row.ItemArray.GetValue(2).ToString());
                    voteRetour.participation = long.Parse(row.ItemArray.GetValue(3).ToString());

                    listeVoteRetour.Add(voteRetour);
                }

                return(listeVoteRetour);
            }
            catch (Exception)
            {
                return(null);
            }
        }