コード例 #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();
            }
        }
コード例 #2
0
        public ActionResult Annulation(int?id)
        {
            ViewBag.Title = "Supprimer mon activité";

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Activite acti;

            if (!User.IsInRole("Admin") && Request.IsAuthenticated)
            {
                string resultat = Utilitaires.AnnulerActivite((int)id, int.Parse(Request.Cookies["SiteDeRencontre"]["noMembre"]), out acti);

                if (resultat == "Activité non trouvée.")
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                }
                else if (resultat == "Interdit")
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
                }
                else if (resultat == "Reussi")
                {
                    foreach (Membre m in acti.membresParticipants)
                    {
                        LesUtilitaires.Utilitaires.envoieCourriel(
                            "Annulation d'une des activités à laquelle vous participiez! - Club Contact",
                            LesUtilitaires.Utilitaires.RenderRazorViewToString(this, "NotificationActivite", acti),
                            m.courriel
                            );
                    }
                }
                else
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                }
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
            }

            return(RedirectToAction("Index", "Activites"));
        }
コード例 #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 }));
        }