Example #1
0
        private void RechargerParticipation()
        {
            ParticipationsBLL    partBLL  = new ParticipationsBLL();
            ListeIdeesCadeauxBLL listeBLL = new ListeIdeesCadeauxBLL();

            ListeIdeesCadeaux liste      = new ListeIdeesCadeaux();
            Personne          cadeauPour = new Personne();
            Evenement         evt        = new Evenement();

            Personne participationDe = new Personne();

            participationDe.id_personne = int.Parse(Session["personneID"].ToString());

            cadeauPour.id_personne = int.Parse(listeParticipantAyantListe.SelectedItem.Value.ToString());
            evt.id_evenement       = int.Parse(ViewState["evenementId"].ToString());

            liste = listeBLL.getListeIdeesCadeaux(cadeauPour, evt);

            Participation participation = partBLL.getParticipation(liste, participationDe);

            if (participation != null)
            {
                lblValeurParticipationListe.Text = "Votre participation est de : " + participation.participation.ToString() + " €";
            }
            else
            {
                lblValeurParticipationListe.Text = "Votre participation est de : 0 €";
            }
        }
Example #2
0
        private void chargerDetailsParticipation(ListeIdeesCadeaux liste)
        {
            ParticipationsBLL partService = new ParticipationsBLL();

            gridView_detailsParticipation.DataSource = partService.getListeParticipation(liste);
            gridView_detailsParticipation.DataBind();
        }
Example #3
0
        protected void listePersonnes_onIndexChanged(object sender, EventArgs e)
        {
            Personne personneSelection = new Personne();

            personneSelection.id_personne = int.Parse(listePersonnes.SelectedItem.Value);

            chargerCadeauxPersonne(personneSelection);

            if (listePersonnes.SelectedItem.Value != "0")
            {
                Evenement evt = new Evenement();
                evt.id_evenement = int.Parse(ViewState["evenementId"].ToString());

                ListeIdeesCadeauxBLL listeBLL = new ListeIdeesCadeauxBLL();
                ListeIdeesCadeaux    liste    = listeBLL.getListeIdeesCadeaux(personneSelection, evt);

                ParticipationsBLL partBLL = new ParticipationsBLL();
                long totalParticipation   = partBLL.getTotalParticipation(liste);

                lbl_participationTotale.Text = totalParticipation + " €";

                chargerDetailsParticipation(liste);

                updatePanel_totalParticipation.Visible = true;
            }
            else
            {
                updatePanel_totalParticipation.Visible = false;
            }

            updatePanel_detailCadeau.Visible = false;
        }
Example #4
0
        protected void btnAjouterParticipation_Click(object sender, EventArgs e)
        {
            ParticipationsBLL    partBLL  = new ParticipationsBLL();
            ListeIdeesCadeauxBLL listeBLL = new ListeIdeesCadeauxBLL();

            ListeIdeesCadeaux liste      = new ListeIdeesCadeaux();
            Personne          cadeauPour = new Personne();
            Evenement         evt        = new Evenement();

            Personne participationDe = new Personne();

            participationDe.id_personne = int.Parse(Session["personneID"].ToString());

            cadeauPour.id_personne = int.Parse(listeParticipantAyantListe.SelectedItem.Value.ToString());
            evt.id_evenement       = int.Parse(ViewState["evenementId"].ToString());

            liste = listeBLL.getListeIdeesCadeaux(cadeauPour, evt);

            Participation part = new Participation();

            part.id_liste    = liste.id_listeIdeesCadeaux;
            part.id_personne = int.Parse(Session["personneID"].ToString());

            Boolean isParticipationCorrecte = true;

            try
            {
                part.participation = long.Parse(tbParticipation.Text);
            }
            catch (Exception)
            {
                isParticipationCorrecte = false;
                lbPbParticipation.Text  = "Vous devez saisir un nombre dans participation. (exemple: 20)";
                SuccessText.Text        = "";
            }

            //Si l'utilisateur a bien saisi une participation correcte, on peut modifier
            if (isParticipationCorrecte)
            {
                if (partBLL.getParticipation(liste, participationDe) == null)
                {
                    if (partBLL.ajouterParticipation(part))
                    {
                        tbParticipation.Text = "";

                        lbPbParticipation.Text = "";
                        SuccessText.Text       = "Vous avez bien ajouté votre participation à cette liste !";

                        RechargerParticipation();
                        afficherGroupeModificationParticipation(false);
                    }
                    else
                    {
                        lbPbParticipation.Text = "Erreur dans l'enregistrement de la participation. Vous devez saisir un nombre. (exemple: 20)";
                        SuccessText.Text       = "";
                    }
                }
                else
                {
                    if (partBLL.modifierParticipation(part))
                    {
                        lbPbParticipation.Text = "";
                        SuccessText.Text       = "Votre participation a été modifiée.";

                        RechargerParticipation();
                        afficherGroupeModificationParticipation(false);
                    }
                    else
                    {
                        lbPbParticipation.Text = "Erreur dans l'enregistrement de la participation. Vous devez saisir un nombre. (exemple: 20)";
                        SuccessText.Text       = "";
                    }
                }
            }
        }
        /// <summary>
        /// Charge l'ensemble des participations dans la datagrid
        /// </summary>
        /// <param name="p"></param>
        public void chargerTableauParticipations(string evenementId)
        {
            List <ListeIdeesCadeaux> listeIdeesCadeaux  = null;
            List <Participation>     listeParticipation = null;

            try
            {
                //Récupérer l'ensemble des listes actives pour cet évènement
                Evenement evt = new Evenement();
                evt.id_evenement = int.Parse(evenementId);
                ListeIdeesCadeauxBLL listeBLL = new ListeIdeesCadeauxBLL();

                listeIdeesCadeaux = listeBLL.getAllListeIdeesCadeaux(evt);

                //Récupérer l'ensemble des participations de la personne connectée pour cet évènement
                Participation parti = new Participation();
                parti.id_personne = int.Parse(Session["personneID"].ToString());

                ParticipationsBLL partService = new ParticipationsBLL();

                listeParticipation = partService.getAllParticipations(parti, evt);

                //Merger les deux infos dans une DataTable pour s'en servir de DataSource
                DataTable dtMerge = new DataTable();
                dtMerge = preparerTable(dtMerge);

                //Représente la liste des responsables avec l'argent que la personne connectée doit
                Dictionary <int, long> mapDette = new Dictionary <int, long>();
                //Représente la liste des sous que doivent les personnes pour les listes où l'utilisateur connecté est responsable
                Dictionary <int, long> mapCredit = new Dictionary <int, long>();
                //Représente la liste des noms par id, pour éviter de refaire une requête
                Dictionary <int, string> mapNoms = new Dictionary <int, string>();
                HashSet <int>            setCle  = new HashSet <int>();

                //On parcourt les listes actives
                foreach (ListeIdeesCadeaux liste in listeIdeesCadeaux)
                {
                    ResponsablesBLL respoService = new ResponsablesBLL();

                    //On cherche le responsable de la liste
                    Personne responsable = respoService.getInfosResponsableDe(liste.listeIdeesCadeauxPour, liste.listePourEvenement);

                    if (responsable != null)
                    {
                        //Si on est responsable de cette liste, on va ajouter les participations des autres
                        if (responsable.id_personne == int.Parse(Session["personneID"].ToString()))
                        {
                            List <Participation> listeParticipationAListe = new List <Participation>();
                            listeParticipationAListe = partService.getListeParticipation(liste);

                            foreach (Participation particAListe in listeParticipationAListe)
                            {
                                //S'il ne s'agit pas de notre propre participation
                                if (particAListe.id_personne != responsable.id_personne)
                                {
                                    //Si la personne devant de l'argent n'existait pas encore, on la créé avec la participation
                                    if (!mapCredit.ContainsKey(particAListe.id_personne))
                                    {
                                        mapCredit.Add(particAListe.id_personne, particAListe.participation);
                                        setCle.Add(particAListe.id_personne);
                                        if (!mapNoms.ContainsKey(particAListe.id_personne))
                                        {
                                            mapNoms.Add(particAListe.id_personne, particAListe.personne.prenom + " " + particAListe.personne.nom.ToUpper());
                                        }
                                    }
                                    //si on devait de l'argent au responsable, on ajoute la nouvelle participation
                                    else
                                    {
                                        mapCredit[particAListe.id_personne] = mapCredit[particAListe.id_personne] + particAListe.participation;
                                    }
                                }
                            }
                        }
                        //Si on n'est pas responsable, on ajoute ce qu'on doit au responsable
                        else
                        {
                            foreach (Participation part in listeParticipation)
                            {
                                if (part.id_liste == liste.id_listeIdeesCadeaux)
                                {
                                    //Si le responsable n'existait pas encore, on le créé avec la participation
                                    if (!mapDette.ContainsKey(responsable.id_personne))
                                    {
                                        mapDette.Add(responsable.id_personne, part.participation);
                                        setCle.Add(responsable.id_personne);
                                        if (!mapNoms.ContainsKey(responsable.id_personne))
                                        {
                                            mapNoms.Add(responsable.id_personne, responsable.prenom + " " + responsable.nom.ToUpper());
                                        }
                                    }
                                    //si on devait de l'argent au responsable, on ajoute la nouvelle participation
                                    else
                                    {
                                        mapDette[responsable.id_personne] = mapDette[responsable.id_personne] + part.participation;
                                    }
                                }
                            }
                        }
                    }
                }

                foreach (int key in setCle)
                {
                    DataRow row = dtMerge.NewRow();

                    row["id"]       = key;
                    row["personne"] = mapNoms[key];
                    row["jedois"]   = mapDette.ContainsKey(key) ? mapDette[key] : 0;
                    row["onmedoit"] = mapCredit.ContainsKey(key) ? mapCredit[key] : 0;

                    dtMerge.Rows.Add(row);
                }

                //ATTENTION : Penser qu'on doit l'argent au responsable de la liste, et pas à celui pour qui est la liste !


                gridView_listeDettes.DataSource = dtMerge;
                gridView_listeDettes.DataBind();
            }
            catch (Exception e)
            {
                FailureText.Text = "Erreur dans la récupération du tableau";
                SuccessText.Text = "";
            }
        }