예제 #1
0
 public DialogueSecuriteViewModel(DialogueSecurite dialogueSecurite, List <Zone> AllZone, List <Lieu> AllLieu)
 {
     this.DialogueSecurite = dialogueSecurite;
     this.AllSite          = db.Sites.ToList();
     this.AllZone          = AllZone;
     this.AllLieu          = AllLieu;
     this.AllThematique    = db.Thematiques.ToList();
     this.AllServiceType   = db.ServiceTypes.ToList();
 }
예제 #2
0
        public HttpResponseMessage Get(int id)
        {
            _activeDirectoryUtilisateurRepository = new ActiveDirectoryUtilisateurRepository();
            _dialogueSecuriteRepository           = new DialogueSecuriteRepository();

            DialogueSecurite DialogueSecurite;
            List <Zone>      AllZone;
            List <Lieu>      AllLieu;

            if (id == -1)
            {
                Site SiteUser = _activeDirectoryUtilisateurRepository.GetCurrentUserSite();

                DialogueSecurite = new DialogueSecurite()
                {
                    SiteId = (SiteUser == null) ? 0 : SiteUser.SiteID
                };

                var queryZone = from a in db.Zones
                                where a.SiteId == SiteUser.SiteID
                                select a;
                AllZone = queryZone.ToList();

                AllLieu = new List <Lieu>();
            }
            else
            {
                DialogueSecurite = _dialogueSecuriteRepository.Get(id);

                if (DialogueSecurite == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }

                var queryZone = from a in db.Zones
                                where a.SiteId == DialogueSecurite.SiteId
                                select a;
                AllZone = queryZone.ToList();

                var queryLieu = from a in db.Lieux
                                where a.ZoneId == DialogueSecurite.ZoneId
                                orderby a.Rang
                                select a;
                AllLieu = queryLieu.ToList();
            }

            var DialogueSecuriteViewModel = new DialogueSecuriteViewModel(DialogueSecurite, AllZone, AllLieu);

            return(Request.CreateResponse(HttpStatusCode.OK, DialogueSecuriteViewModel));
        }
예제 #3
0
        public HttpResponseMessage Delete(int id)
        {
            DialogueSecurite dialogueSecurite = db.DialogueSecurites.Find(id);

            if (dialogueSecurite == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            db.DialogueSecurites.Remove(dialogueSecurite);
            db.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
예제 #4
0
        public HttpResponseMessage Put(int id, DialogueSecurite dialogueSecurite)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            if (id != dialogueSecurite.Id)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }


            var currentdialogueSecurite = db.DialogueSecurites.Find(dialogueSecurite.Id);

            db.Entry(currentdialogueSecurite).CurrentValues.SetValues(dialogueSecurite);

            db.Entry(currentdialogueSecurite).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DialogueSecuriteExists(id))
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound, currentdialogueSecurite));
                }
                else
                {
                    throw;
                }
            }

            return(Request.CreateResponse(HttpStatusCode.OK, currentdialogueSecurite));
        }
예제 #5
0
        public DialogueSecurite Get(Int32 id)
        {
            DialogueSecurite DialogueSecurite = _db.DialogueSecurites.SingleOrDefault(r => r.Id == id);

            return(DialogueSecurite);
        }
예제 #6
0
        public DialogueSecurite Get(int id)
        {
            DialogueSecurite dialogueSecurite = _db.DialogueSecurites.SingleOrDefault(r => r.Id == id);

            return(dialogueSecurite);
        }
예제 #7
0
        public HttpResponseMessage Post(DialogueSecurite dialogueSecurite)
        {
            // DialogueSecurite.DateCreation = DateTime.Now;

            dialogueSecurite.CompteurAnnuelSite = 1;

            var QueryLastDialogueSecuriteForSiteAnnee = from ds in db.DialogueSecurites
                                                        where ds.SiteId == dialogueSecurite.SiteId &&
                                                        ds.Date.Year == dialogueSecurite.Date.Year
                                                        orderby ds.CompteurAnnuelSite descending
                                                        select ds;

            DialogueSecurite LastDialogueSecuriteForSiteAnnee = QueryLastDialogueSecuriteForSiteAnnee.FirstOrDefault();

            if (LastDialogueSecuriteForSiteAnnee != null)
            {
                if (LastDialogueSecuriteForSiteAnnee.Date.Year == dialogueSecurite.Date.Year)
                {
                    dialogueSecurite.CompteurAnnuelSite = LastDialogueSecuriteForSiteAnnee.CompteurAnnuelSite + 1;
                }
            }

            Site site = db.Sites.First(s => s.SiteID == dialogueSecurite.SiteId);

            dialogueSecurite.Code += site.Trigramme + "-" + dialogueSecurite.Date.Year + "-" + dialogueSecurite.CompteurAnnuelSite;

            dialogueSecurite.Dialogueur1 = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate(
                dialogueSecurite.Dialogueur1.Nom, dialogueSecurite.Dialogueur1.Prenom, dialogueSecurite.Dialogueur1Id, db
                );
            dialogueSecurite.Dialogueur2 = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate(
                dialogueSecurite.Dialogueur2.Nom, dialogueSecurite.Dialogueur2.Prenom, dialogueSecurite.Dialogueur2Id, db
                );
            dialogueSecurite.Dialogueur3 = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate(
                dialogueSecurite.Dialogueur3.Nom, dialogueSecurite.Dialogueur3.Prenom, dialogueSecurite.Dialogueur3Id, db
                );
            dialogueSecurite.Entretenu1 = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate(
                dialogueSecurite.Entretenu1.Nom, dialogueSecurite.Entretenu1.Prenom, dialogueSecurite.Entretenu1Id, db
                );
            dialogueSecurite.Entretenu2 = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate(
                dialogueSecurite.Entretenu2.Nom, dialogueSecurite.Entretenu2.Prenom, dialogueSecurite.Entretenu2Id, db
                );
            dialogueSecurite.Entretenu3 = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate(
                dialogueSecurite.Entretenu3.Nom, dialogueSecurite.Entretenu3.Prenom, dialogueSecurite.Entretenu3Id, db
                );

            db.DialogueSecurites.Add(dialogueSecurite);

            //try
            //{
            db.SaveChanges();
            DialogueSecurite dbDialogueSecurite = db.DialogueSecurites
                                                  .Where(ds => ds.Id == dialogueSecurite.Id)
                                                  .Include(ds => ds.Thematique)
                                                  .Include(ds => ds.ServiceType)
                                                  .Include(ds => ds.ServiceType1)
                                                  .Include(ds => ds.ServiceType2)
                                                  .Include(ds => ds.ServiceType3)
                                                  .Include(ds => ds.ServiceType4)
                                                  .Include(ds => ds.ServiceType5)
                                                  .FirstOrDefault();

            _emailService.SendEmailDiffusionDialogueSecurite(dbDialogueSecurite);
            return(Request.CreateResponse(HttpStatusCode.OK, dbDialogueSecurite));
            //}
            //catch (Exception e)
            //{
            //    return Request.CreateResponse(HttpStatusCode.InternalServerError, e);
            //}
        }
예제 #8
0
        public void SendEmailDiffusionDialogueSecurite(DialogueSecurite dialogueSecurite)
        {
            Site site = db.Sites.First(s => s.SiteID == dialogueSecurite.SiteId);

            string to = GetEmailFor("DiffusionFicheSecurite", db.Sites.Find(dialogueSecurite.SiteId).Trigramme);

            UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext);
            string    urlToDialogueSecurite = url.Action("Edit", "DialogueSecurite", new System.Web.Routing.RouteValueDictionary(new { id = dialogueSecurite.Id }), "http", HttpContext.Current.Request.Url.Host);

            MailAddress from = new MailAddress("*****@*****.**");

            //Contournement, je n'arrive pas à charger les objets "lieu" dans le "DialogueSecurite", alors que l'ID est bien présent ...
            Lieu lieu = db.Lieux.Find(dialogueSecurite.LieuId);
            Zone zone = db.Zones.Find(dialogueSecurite.ZoneId);

            string subject = "Nouveau Dialogue Sécurité " + dialogueSecurite.Code;

            string body = "<div style='font-family: Verdana, sans-serif;'><H2 style='background-color:#FD9910;color:#FFFFFF;text-align:center;border-radius: 25px;'>Le Dialogue Sécurité " + dialogueSecurite.Code + " vient d'être diffusé.</H2></div>" +
                          "<br/>" +
                          "<table><tbody>";

            body += "<tr><td>Dialogués : </td><td>1 / </td><td>" + dialogueSecurite.Entretenu1.Prenom + "</td><td>" + dialogueSecurite.Entretenu1.Nom + "</td><td> du service : </td><td>" + dialogueSecurite.ServiceType3.Nom + "</td></tr>";

            if (dialogueSecurite.Entretenu2.Nom != null)
            {
                body += "<tr><td></td><td>2 / </td><td>" + dialogueSecurite.Entretenu2.Prenom + "</td><td>" + dialogueSecurite.Entretenu2.Nom + "</td><td> du service : </td><td>" + dialogueSecurite.ServiceType4.Nom + "</td></tr>";
            }
            if (dialogueSecurite.Entretenu3.Nom != null)
            {
                body += "<tr><td></td><td>3 / </td><td>" + dialogueSecurite.Entretenu3.Prenom + "</td><td>" + dialogueSecurite.Entretenu3.Nom + "</td><td> du service : </td><td>" + dialogueSecurite.ServiceType5.Nom + "</td></tr>";
            }
            body += "<tr></tr>";
            body += "<tr><td>Dialogueurs :</td><td>1 / </td><td>" + dialogueSecurite.Dialogueur1.Prenom + "</td><td>" + dialogueSecurite.Dialogueur1.Nom + "</td><td> du service : </td><td>" + dialogueSecurite.ServiceType.Nom + "</td></tr>";

            if (dialogueSecurite.Dialogueur2.Nom != null)
            {
                body += "<tr><td></td><td>2 / </td><td>" + dialogueSecurite.Dialogueur2.Prenom + "</td><td>" + dialogueSecurite.Dialogueur2.Nom + "</td><td> du service : </td><td>" + dialogueSecurite.ServiceType1.Nom + "</td></tr>";
            }
            if (dialogueSecurite.Dialogueur3.Nom != null)
            {
                body += "<tr><td></td><td>3 / </td><td>" + dialogueSecurite.Dialogueur3.Prenom + "</td><td>" + dialogueSecurite.Dialogueur3.Nom + "</td><td> du service : </td><td>" + dialogueSecurite.ServiceType2.Nom + "</td></tr>";
            }

            body += "</tbody></table>";
            body += "<br/>";
            body += "<div> Thématique : " + dialogueSecurite.Thematique.Nom + "</div>";
            body += "<br/>";
            body += "<table><tbody>" +
                    "<tr><td>SITUER</td><td>" + dialogueSecurite.Contexte + "</td></tr>" +
                    "<tr><td>OBSERVER</td><td>" + dialogueSecurite.Observation + "</td></tr>" +
                    "<tr><td>REFLECHIR</td><td>" + dialogueSecurite.Reflexion + "</td></tr>" +
                    "<tr><td>AGIR</td><td>" + dialogueSecurite.Action + "</td></tr>" +
                    "</table></tbody>";

            body += "<br/>";
            body += "<div> Zone : " + zone.ZoneType.Nom + "</div>";
            body += "<div> Lieu : " + lieu.Nom + "</div>";
            body += "<br/>";
            body += "<div> Lien vers le dialogue  : " + urlToDialogueSecurite + "</div>";

            if (to != "" && to != null)
            {
                SendEmail(from, subject, body, to);
            }
        }