Ejemplo n.º 1
0
        public void ActiverDesactiverCompte(int noMembre)
        {
            Membre mem = db.Membres.Where(m => m.noMembre == noMembre).Include(p => p.listePhotosMembres).Include(a => a.listeActivitesOrganises)
                         .Include(a => a.listeHobbies).Include(a => a.listeRaisonsSurSite).Include(a => a.listeDeVisitesDeMonProfil)
                         .FirstOrDefault();

            if (mem != null)
            {
                //compte est actif, donc on désactive
                if (mem.dateSuppressionDuCompte == null && mem.compteSupprimeParAdmin == null)
                {
                    List <Activite> activites = db.Activites.Where(a => a.noMembreOrganisateur == mem.noMembre).ToList();
                    List <Photo>    photos    = db.Photos.Where(p => p.noMembre == mem.noMembre).ToList();

                    List <Visite> visites = db.Visites.Where(p => p.noMembreVisite == mem.noMembre || p.noMembreVisiteur == mem.noMembre).ToList();

                    mem.dateSuppressionDuCompte = DateTime.Now;
                    mem.compteSupprimeParAdmin  = false;

                    //On annule chacune de ses activites FUTURES.
                    foreach (Activite a in mem.listeActivitesOrganises)
                    {
                        if (a.date > DateTime.Now)
                        {
                            Activite acti;
                            Utilitaires.AnnulerActivite(a.noActivite, null, out acti);
                        }
                    }

                    //On retire sa participation à tous les activités FUTURES.
                    foreach (Activite a in mem.listeActivites)
                    {
                        if (a.date > DateTime.Now)
                        {
                            Utilitaires.ParticiperActivite(a.noActivite, noMembre);
                        }
                    }
                }
                else
                {
                    mem.dateSuppressionDuCompte = null;
                    mem.compteSupprimeParAdmin  = null;
                }

                db.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        public string ParticiperActivite(int noActivite)
        {
            string etaitDejaParticipant;

            int noMembreCo;

            verifierSiCookieNoMembreExiste(out noMembreCo);

            if (noMembreCo != -1)
            {
                etaitDejaParticipant = Utilitaires.ParticiperActivite(noActivite, noMembreCo);

                return(etaitDejaParticipant);
            }

            return("NonConnecte");
        }
Ejemplo n.º 3
0
        public ActionResult DesactiverCompte(int noMembreDesactiver, int noSignalement)
        {
            Membre mem = db.Membres.Where(m => m.noMembre == noMembreDesactiver).Include(p => p.listePhotosMembres).Include(a => a.listeActivitesOrganises)
                         .Include(a => a.listeHobbies).Include(a => a.listeRaisonsSurSite).Include(a => a.listeDeVisitesDeMonProfil)
                         .FirstOrDefault();
            List <Activite> activites = db.Activites.Where(a => a.noMembreOrganisateur == mem.noMembre).ToList();
            List <Photo>    photos    = db.Photos.Where(p => p.noMembre == mem.noMembre).ToList();

            List <Visite> visites = db.Visites.Where(p => p.noMembreVisite == mem.noMembre || p.noMembreVisiteur == mem.noMembre).ToList();

            if (mem == null)
            {
                return(HttpNotFound());
            }
            else
            {
                mem.dateSuppressionDuCompte = DateTime.Now;
                mem.compteSupprimeParAdmin  = true;

                //On annule chacune de ses activites FUTURES.
                foreach (Activite a in mem.listeActivitesOrganises)
                {
                    if (a.date > DateTime.Now)
                    {
                        Activite acti;
                        Utilitaires.AnnulerActivite(a.noActivite, null, out acti);
                    }
                }

                //On retire sa participation à tous les activités FUTURES.
                foreach (Activite a in mem.listeActivites)
                {
                    if (a.date > DateTime.Now)
                    {
                        Utilitaires.ParticiperActivite(a.noActivite, noMembreDesactiver);
                    }
                }

                db.SaveChanges();
            }

            CompteAdmin      compteAdminTraiteur = db.CompteAdmins.Where(m => m.nomCompte == User.Identity.Name).FirstOrDefault();
            ActionTraitement actionCompteBloque  = db.ActionTraitements.Where(m => m.nomActionTraitement == "Compte bloqué").FirstOrDefault();


            Signalement leSignalement = db.Signalements.Where(m => m.noSignalement == noSignalement).FirstOrDefault();

            leSignalement.dateSuiviNecessaire   = null;
            leSignalement.etatSignalementActuel = db.EtatSignalements.Where(m => m.nomEtatSignalement == "Traité").FirstOrDefault();
            leSignalement.adminQuiTraite        = compteAdminTraiteur;


            //Envoie d'un message automatisé de traitement
            Message messageAccuseApresTraitement = new Message();

            messageAccuseApresTraitement.dateEnvoi      = DateTime.Now;
            messageAccuseApresTraitement.sujetMessage   = "Votre signalement contre " + leSignalement.membreContreQuiEstPlainte.surnom + " a été traité.";
            messageAccuseApresTraitement.contenuMessage = "Votre signalement contre " + leSignalement.membreContreQuiEstPlainte.surnom + " a bien été traité, et une action a eu lieu afin que le comportement" +
                                                          " fautif ne se reproduise plus. Merci d'aider à rendre Club Contact un environnement sécuritaire!" + Environment.NewLine + Environment.NewLine + "- Le service d'administration de Club Contact";
            messageAccuseApresTraitement.lu               = false;
            messageAccuseApresTraitement.membreReceveur   = leSignalement.membreFaisantPlainte;
            messageAccuseApresTraitement.noMembreReceveur = leSignalement.membreFaisantPlainte.noMembre;

            db.Messages.Add(messageAccuseApresTraitement);
            db.SaveChanges();
            //Fin envoie d'un message automatisé de traitement

            TraitementSignalement leTraitementEffectuer = new TraitementSignalement();

            leTraitementEffectuer.compteAdminTraiteur       = compteAdminTraiteur;
            leTraitementEffectuer.noCompteAdminTraiteur     = compteAdminTraiteur.noCompteAdmin;
            leTraitementEffectuer.actionTraitement          = actionCompteBloque;
            leTraitementEffectuer.noActionTraitement        = actionCompteBloque.noActionTraitement;
            leTraitementEffectuer.dateTraitementSignalement = DateTime.Now;
            leTraitementEffectuer.noSignalementLie          = leSignalement.noSignalement;
            leTraitementEffectuer.signalementLie            = leSignalement;

            db.TraitementSignalements.Add(leTraitementEffectuer);

            List <Signalement> lesSignalementDuMembreQuiSeraDesactiver = db.Signalements.Where(m => m.noMembreContreQuiEstPlainte == noMembreDesactiver && m.noSignalement != leSignalement.noSignalement).ToList();

            foreach (Signalement s in lesSignalementDuMembreQuiSeraDesactiver)
            {
                s.dateSuiviNecessaire   = null;
                s.etatSignalementActuel = db.EtatSignalements.Where(m => m.nomEtatSignalement == "Traité").FirstOrDefault();
                if (s.adminQuiTraite == null && s.noCompteAdmin == null)
                {
                    s.adminQuiTraite = compteAdminTraiteur;
                    s.noCompteAdmin  = compteAdminTraiteur.noCompteAdmin;
                }

                TraitementSignalement traitementEffectureSurAutre = new TraitementSignalement();
                traitementEffectureSurAutre.compteAdminTraiteur       = compteAdminTraiteur;
                traitementEffectureSurAutre.noCompteAdminTraiteur     = compteAdminTraiteur.noCompteAdmin;
                traitementEffectureSurAutre.actionTraitement          = actionCompteBloque;
                traitementEffectureSurAutre.noActionTraitement        = actionCompteBloque.noActionTraitement;
                traitementEffectureSurAutre.dateTraitementSignalement = DateTime.Now;
                traitementEffectureSurAutre.noSignalementLie          = s.noSignalement;
                traitementEffectureSurAutre.signalementLie            = s;

                db.TraitementSignalements.Add(traitementEffectureSurAutre);
            }



            db.SaveChanges();

            return(RedirectToAction("Gestion", "Admin", new { tab = 2 }));
        }