예제 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Nature,Secteur,Heure,Commentaires,Id")] Signalement signalement)
        {
            if (id != signalement.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    await _repository.Update(signalement);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SignalementExists(signalement.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(signalement));
        }
예제 #2
0
        private async void Un_signalement()
        {
            var mockRepo     = new MockSignalementsRepository();
            var signalements = await mockRepo.GetAll();

            _signalement = signalements.First();
        }
예제 #3
0
        private void une_alerte()
        {
            //TODO : Mettre l'application en mode Mocks et aller chercher un joueur dans le Mock
            var mockRepo = new MockSignalementsRepository();

            _signalement = mockRepo.GetById(1).Result;
        }
예제 #4
0
        public ActionResult Create(SignalementViewModel signalementViewModel)
        {
            Signalement signalement = new Signalement();

            if (HttpContext.User.Identity.IsAuthenticated)
            {
                signalement.user = db.users.FirstOrDefault(u => u.id.ToString()
                                                           == HttpContext.User.Identity.Name);
            }
            else
            {
                signalement.nomUser = "******";
            }

            var ischecked = Request.Form["estRetrouve"];

            signalement.date = DateTime.Now;

            signalement.localisation = signalementViewModel.signalement.localisation;
            signalement.description  = signalementViewModel.signalement.description;

            if (ModelState.IsValid)
            {
                db.signalements.Add(signalement);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(signalement));
        }
예제 #5
0
        // GET: Signalements/Edit/5
        public ActionResult Edit(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Signalement signalement = db.Signalement.Find(id);

            if (signalement == null)
            {
                return(HttpNotFound());
            }
            RechercheViewModel model = new RechercheViewModel
            {
                Id              = id,
                Adresse         = signalement.Adresse,
                Description     = signalement.Description,
                ListTypeAnimaux = db.TypeAnimaux.Select(c => new SelectListItem {
                    Text = c.Nom, Value = c.Id.ToString()
                }).ToList(),
                SelectedTypeAnimaux = signalement.Type.Id
            };

            return(View(model));
        }
예제 #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Signalement signalement = db.Signalements.Find(id);

            db.Signalements.Remove(signalement);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #7
0
        public async Task <IActionResult> Create([Bind("Nature,Secteur,Heure,Commentaires,Id")] Signalement signalement)
        {
            if (ModelState.IsValid)
            {
                await _repository.Add(signalement);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(signalement));
        }
예제 #8
0
 public ActionResult Edit([Bind(Include = "id,description,date,photo,localisation,estRetrouve")] Signalement signalement)
 {
     if (ModelState.IsValid)
     {
         db.Entry(signalement).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(signalement));
 }
예제 #9
0
 public ActionResult Edit([Bind(Include = "id,commentaire")] Signalement signalement)
 {
     if (ModelState.IsValid)
     {
         db.Entry(signalement).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(signalement));
 }
예제 #10
0
        // GET: Signalements/Create
        public ActionResult Create(int?avisDeRechercheId)
        {
            Signalement s   = new Signalement();
            var         adr = AvisDeRechercheDAL.getInstance().getById((int)avisDeRechercheId);

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

            s.avisDeRecherche = adr;
            return(View(s));
        }
예제 #11
0
        private bool SignalementExists(int id)
        {
            Signalement signalement = _repository.GetById(id).Result;

            if (signalement == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
예제 #12
0
        // GET: Signalements/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Signalement signalement = db.Signalements.Find(id);

            if (signalement == null)
            {
                return(HttpNotFound());
            }
            return(View(signalement));
        }
예제 #13
0
        public ActionResult Create([Bind(Include = "id,dateSignalement,commentaire,adresse,ville,avisDeRecherche_id")] Signalement signalement)
        {
            if (ModelState.IsValid)
            {
                if (User.Identity.IsAuthenticated)
                {
                    signalement.utilisateur = UtilisateurDAL.getInstance().getByMail(User.Identity.Name);
                }

                db.Signalements.Add(signalement);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(signalement));
        }
 public void AjoutSignalement(int evenement_id, string message, ApplicationUser user)
 {
     if (_db.Participations.Where(a => a.Participant_id == user.Id && a.Evenement_id == evenement_id && (a.Role == Role.Signalement || a.Role == Role.Participant || a.Role == Role.Inviter)).FirstOrDefault() == null)
     {
         Signalement signal = new Signalement();
         signal.Commentaire = message;
         Participation inscription = new Participation();
         inscription.Evenement_id       = evenement_id;
         inscription.Evenement          = _db.Evenements.Where(a => a.id == evenement_id).First();
         inscription.Participant_id     = user.Id;
         inscription.Participant        = user;
         inscription.Role               = Role.Signalement;
         inscription.NombreParticipants = 1;
         inscription.Signalement        = signal;
         _db.Participations.Add(inscription);
         _db.SaveChanges();
     }
     else if (_db.Participations.Where(a => a.Participant_id == user.Id && a.Evenement_id == evenement_id && a.Role != Role.Signalement).FirstOrDefault() != null)
     {
         Participation inscription = _db.Participations.Where(a => a.Participant_id == user.Id && a.Evenement_id == evenement_id).First();
         inscription.Role = Role.Signalement;
         _db.SaveChanges();
     }
 }
예제 #15
0
        public ActionResult Create(SignalementViewModel model)
        {
            ApplicationUser user = db.Users.Find(User.Identity.GetUserId());
            DateTime        date = DateTime.Now;
            TypeAnimaux     type = db.TypeAnimaux.Find(model.SelectedTypeAnimaux);

            Signalement signalement = new Signalement
            {
                Description = model.Description,
                Adresse     = model.Adresse,
                Date_ajout  = date,
                User        = user,
                Type        = type
            };

            if (ModelState.IsValid)
            {
                db.Signalement.Add(signalement);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(signalement));
        }
예제 #16
0
        public ActionResult Send(Message message, int?noSignalementLie)
        {
            message.dateEnvoi = DateTime.Now;
            message.lu        = false;

            message.dansCorbeilleCoteEnvoyeur = false;
            message.dansCorbeilleCoteReceveur = false;

            message.supprimerCoteEnvoyeur = false;
            message.supprimerCoteReceveur = false;

            bool messageVientDeAdmin = true;

            //Si c'est pas l'admin qui l'envoie, on s'en fout du principe de liste noire
            if (message.noMembreEnvoyeur != null)
            {
                messageVientDeAdmin = false;

                message.membreEnvoyeur = db.Membres.Where(m => m.noMembre == message.noMembreEnvoyeur).FirstOrDefault();
                message.membreReceveur = db.Membres.Where(m => m.noMembre == message.noMembreReceveur).FirstOrDefault();

                //Si le membre qui va recevoir le message a le membres qui l'a envoyé dans sa liste noire, alors le message sera automatiquement supprimé de son côté
                //Du côté envoyeur, il va voir comme s'il l'a envoyé
                if (message.membreReceveur.listeNoire.Contains(message.membreEnvoyeur))
                {
                    message.dansCorbeilleCoteReceveur = true;
                    message.supprimerCoteReceveur     = true;
                }
            }

            if (ModelState.IsValid)
            {
                try
                {
                    db.Messages.Add(message);

                    db.SaveChanges();

                    if (!messageVientDeAdmin)
                    {
                        return(RedirectToAction("Inbox", "Messagerie"));
                    }
                    else
                    {
                        if (noSignalementLie != null)
                        {
                            CompteAdmin adminConnectee = db.CompteAdmins.Where(m => m.nomCompte == User.Identity.Name).FirstOrDefault();

                            ActionTraitement actionTraitement = db.ActionTraitements.Where(m => m.nomActionTraitement == "Avertissement envoyé").FirstOrDefault();

                            Signalement leSignalement = db.Signalements.Where(m => m.noSignalement == noSignalementLie).FirstOrDefault();
                            leSignalement.dateSuiviNecessaire   = DateTime.Now.AddDays(7);
                            leSignalement.etatSignalementActuel = db.EtatSignalements.Where(m => m.nomEtatSignalement == "En suivi").FirstOrDefault();
                            leSignalement.adminQuiTraite        = adminConnectee;

                            TraitementSignalement nouveauTraitementFait = new TraitementSignalement();
                            nouveauTraitementFait.dateTraitementSignalement = DateTime.Now;
                            nouveauTraitementFait.noSignalementLie          = leSignalement.noSignalement;
                            nouveauTraitementFait.signalementLie            = leSignalement;
                            nouveauTraitementFait.compteAdminTraiteur       = adminConnectee;
                            nouveauTraitementFait.noCompteAdminTraiteur     = adminConnectee.noCompteAdmin;
                            nouveauTraitementFait.messageLie = message;
                            //nouveauTraitementFait.noMessageLie = message.noMessage;
                            nouveauTraitementFait.actionTraitement   = actionTraitement;
                            nouveauTraitementFait.noActionTraitement = actionTraitement.noActionTraitement;

                            db.TraitementSignalements.Add(nouveauTraitementFait);

                            db.SaveChanges();
                        }

                        return(RedirectToAction("Gestion", "Admin", new { tab = 2 }));
                    }
                }
                catch (Exception e)
                {
                    Dictionary <string, string> parametres = new Dictionary <string, string>()
                    {
                        { "messageContenu", message.contenuMessage.ToString() },
                        { "sujetMessage", message.sujetMessage.ToString() }
                    };
                    throw LesUtilitaires.Utilitaires.templateException("Send", "Messagerie", "Ajout d'un message à la BD n'a pas fonctionné.",
                                                                       e, parametres, "post");
                }
            }

            if (!messageVientDeAdmin)
            {
                int noMembreCo;
                verifierSiCookieNoMembreExiste(out noMembreCo);

                SetterViewDataListeContact(noMembreCo);
            }
            return(View("Send", message));
        }
예제 #17
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 }));
        }