/// <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); } }
/// <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); } }
/// <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."); } }
/// <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"); } }
/// <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); } }