private string addFicheSecuriteResponsableEmailToString(String to, FicheSecurite ficheSecurite) { _activeDirectoryUtilisateurRepository = new ActiveDirectoryUtilisateurRepository(); ActiveDirectoryUtilisateurDTO ResponsableActiveDirectoryUtilisateurDTO; ResponsableActiveDirectoryUtilisateurDTO = _activeDirectoryUtilisateurRepository.GetActiveDirectoryUtilisateurByNomPrenom(ficheSecurite.Responsable.Nom, ficheSecurite.Responsable.Prenom); String toResponsable = ""; if (ResponsableActiveDirectoryUtilisateurDTO != null) { toResponsable = ResponsableActiveDirectoryUtilisateurDTO.email; } if (toResponsable != "" && toResponsable != null) { if (to != "" && toResponsable != null) { to += ","; } to += toResponsable; } return(to); }
public void FicheSecuriteOpenOrClose(ActionQSE actionQSE) { var queryFicheSecurite = from a in db.ActionQSEs join c in db.CauseQSEs on a.CauseQSEId equals c.CauseQSEId join fs in db.FicheSecurites on c.FicheSecuriteId equals fs.FicheSecuriteID where a.ActionQSEId == actionQSE.ActionQSEId select fs; FicheSecurite ficheSecuriteForAction = queryFicheSecurite.FirstOrDefault(); var queryActionQSEsForFicheSecurite = from a in db.ActionQSEs join c in db.CauseQSEs on a.CauseQSEId equals c.CauseQSEId join fs in db.FicheSecurites on c.FicheSecuriteId equals fs.FicheSecuriteID where fs.FicheSecuriteID == ficheSecuriteForAction.FicheSecuriteID select a; List <ActionQSE> AllActionQSEForFicheSecurite = queryActionQSEsForFicheSecurite.ToList(); Boolean IsFicheSecuriteCloturee = true; foreach (ActionQSE ActionQSEForFicheSecurite in AllActionQSEForFicheSecurite) { IsFicheSecuriteCloturee = (ActionQSEForFicheSecurite.ClotureDate != null) ? IsFicheSecuriteCloturee : false; } ficheSecuriteForAction.WorkFlowCloturee = IsFicheSecuriteCloturee; db.SaveChanges(); }
public void SendEmailValidationPlanActionFicheSecurite(FicheSecurite ficheSecurite) { Site site = db.Sites.First(s => s.SiteID == ficheSecurite.SiteId); string to = GetEmailFor("ValidationPlanActionFicheSecurite", db.Sites.Find(ficheSecurite.SiteId).Trigramme); to = addFicheSecuriteResponsableEmailToString(to, ficheSecurite); to = addActionResponsableEmailToString(to, ficheSecurite); MailAddress from = new MailAddress("*****@*****.**"); string subject = "Validation Plan d'action"; string body = "<H4>Le plan d'action de la Fiche Securite " + ficheSecurite.Code + " vient d'être validé</H4> </br></br>"; body += "</br> Voici les actions à réaliser : </br></br>"; foreach (CauseQSE Cause in ficheSecurite.CauseQSEs) { foreach (ActionQSE Action in Cause.ActionQSEs) { body += "Responsable : " + Action.Responsable.Prenom + " " + Action.Responsable.Nom + "</br>Action : " + Action.Description + "</br>Date butoir : " + Action.DateButoireInitiale; } } if (to != "" && to != null) { SendEmail(from, subject, body, to); } }
public ActionResult DeleteConfirmed(int id) { FicheSecurite ficheSecurite = db.FicheSecurites.Find(id); db.FicheSecurites.Remove(ficheSecurite); db.SaveChanges(); return(RedirectToAction("Index")); }
// POST api/fichesecuriteapi public HttpResponseMessage Post(FicheSecurite FicheSecurite) { FicheSecurite.DateCreation = DateTime.Now; FicheSecurite.CompteurAnnuelSite = 1; var QueryLastFicheSecuriteForSiteAnnee = from f in db.FicheSecurites where f.SiteId == FicheSecurite.SiteId && f.DateEvenement.Year == FicheSecurite.DateEvenement.Year orderby f.CompteurAnnuelSite descending select f; FicheSecurite LastFicheSecuriteForSiteAnnee = QueryLastFicheSecuriteForSiteAnnee.FirstOrDefault(); if (LastFicheSecuriteForSiteAnnee != null) { if (LastFicheSecuriteForSiteAnnee.DateEvenement.Year == FicheSecurite.DateEvenement.Year) { FicheSecurite.CompteurAnnuelSite = LastFicheSecuriteForSiteAnnee.CompteurAnnuelSite + 1; } } Site site = db.Sites.First(s => s.SiteID == FicheSecurite.SiteId); FicheSecurite.Code += site.Trigramme + "-" + FicheSecurite.DateEvenement.Year + "-" + FicheSecurite.CompteurAnnuelSite; FicheSecurite.Responsable = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate( FicheSecurite.Responsable.Nom, FicheSecurite.Responsable.Prenom, FicheSecurite.ResponsableId, db ); FicheSecurite.PersonneConcernee = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate( FicheSecurite.PersonneConcernee.Nom, FicheSecurite.PersonneConcernee.Prenom, FicheSecurite.PersonneConcerneeId, db );; FicheSecurite.WorkFlowDiffusee = true; db.FicheSecurites.Add(FicheSecurite); //try //{ db.SaveChanges(); //Url.Action("Edit", "FicheSecurite", new System.Web.Routing.RouteValueDictionary(new { id = id }), "http", Request.Url.Host) //Url.Link("DefaultApi", new { controller = "Albums", id = 3}) //UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext); //var a = url.Action("Edit", "FicheSecurite", new System.Web.Routing.RouteValueDictionary(new { id = FicheSecurite.FicheSecuriteID }), "http", HttpContext.Current.Request.Url.Host); _emailService.SendEmailDiffusionFicheSecurite(FicheSecurite); return(Request.CreateResponse(HttpStatusCode.OK, FicheSecurite)); //} //catch (Exception e) //{ //return Request.CreateResponse(HttpStatusCode.InternalServerError, e); //} }
public FicheSecuriteViewModel() { this.FicheSecurite = new FicheSecurite(); this.AllZone = new List <Zone>(); this.AllLieu = new List <Lieu>(); this.AllSite = db.Sites.ToList(); // new List<Site>(); this.AllFicheSecuriteType = db.FicheSecuriteTypes.ToList(); this.AllDanger = db.Dangers.ToList(); this.AllPlageHoraire = db.PlageHoraires.ToList(); this.AllRisqueType = db.RisqueTypes.ToList(); this.AllRisque = db.Risques.ToList(); }
public HttpResponseMessage ChangeWorkFlowEtat(FicheSecurite ficheSecurite, Int32 id, string param1) { FicheSecurite FicheSecurite = _ficheSecuriteRepository.Get(id); switch (param1) { case "AttenteASEValidation": FicheSecurite.WorkFlowASEValidee = false; FicheSecurite.WorkFlowASERejetee = false; FicheSecurite.WorkFlowAttenteASEValidation = true; FicheSecurite.WorkFlowFicheSecuriteCloturee = false; _emailService.SendEmailDiffusionPlanActionFicheSecurite(ficheSecurite); break; case "ASEValidee": FicheSecurite.WorkFlowAttenteASEValidation = false; FicheSecurite.WorkFlowASEValidee = true; FicheSecurite.WorkFlowASERejetee = false; FicheSecurite.WorkFlowFicheSecuriteCloturee = false; _emailService.SendEmailValidationPlanActionFicheSecurite(ficheSecurite); break; case "ASERejetee": FicheSecurite.WorkFlowAttenteASEValidation = false; FicheSecurite.WorkFlowASEValidee = false; FicheSecurite.WorkFlowASERejetee = true; FicheSecurite.WorkFlowASERejeteeCause = ficheSecurite.WorkFlowASERejeteeCause; FicheSecurite.WorkFlowFicheSecuriteCloturee = false; _emailService.SendEmailRejetPlanActionFicheSecurite(ficheSecurite); break; case "ASEFicheSecuriteCloturee": FicheSecurite.WorkFlowAttenteASEValidation = false; FicheSecurite.WorkFlowASEValidee = true; FicheSecurite.WorkFlowASERejetee = false; FicheSecurite.WorkFlowFicheSecuriteCloturee = true; // _emailService.SendEmailRejetPlanActionFicheSecurite(ficheSecurite); TODO : Voir si il faut un email à cette étape break; case "ASEFicheSecuriteOuvrir": FicheSecurite.WorkFlowAttenteASEValidation = false; FicheSecurite.WorkFlowASEValidee = true; FicheSecurite.WorkFlowASERejetee = false; FicheSecurite.WorkFlowFicheSecuriteCloturee = false; // _emailService.SendEmailRejetPlanActionFicheSecurite(ficheSecurite); TODO : Voir si il faut un email à cette étape break; } _ficheSecuriteRepository._db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, FicheSecurite)); }
// GET: /FicheSecurite/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FicheSecurite ficheSecurite = db.FicheSecurites.Find(id); if (ficheSecurite == null) { return(HttpNotFound()); } return(View("~/Views/HSE/FicheSecurite/Delete.cshtml", ficheSecurite)); }
// DELETE api/fichesecuriteapi/5 public HttpResponseMessage Delete(int id) { FicheSecurite FicheSecurite = db.FicheSecurites.Find(id); if (FicheSecurite == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } db.FicheSecurites.Remove(FicheSecurite); db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); }
public HttpResponseMessage Put(int id, FicheSecurite ficheSecurite) { var currentFicheSecurite = db.FicheSecurites.Find(ficheSecurite.FicheSecuriteID); db.Entry(currentFicheSecurite).CurrentValues.SetValues(ficheSecurite); db.Entry(currentFicheSecurite).State = EntityState.Modified; db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, currentFicheSecurite)); }
public HttpResponseMessage PutCHSCTFields(FicheSecurite ficheSecurite, Int32 id, string param1) { FicheSecurite ficheSecuriteToEdit = db.FicheSecurites.Find(ficheSecurite.FicheSecuriteID); ficheSecuriteToEdit.EnqueteDate = ficheSecurite.EnqueteDate; ficheSecuriteToEdit.EnqueteProtagoniste = ficheSecurite.EnqueteProtagoniste; ficheSecuriteToEdit.EnqueteRealisee = ficheSecurite.EnqueteRealisee; ficheSecuriteToEdit.CHSCTMembre = ficheSecurite.CHSCTMembre; //db.Entry(ficheSecurite).State = EntityState.Modified; db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); }
public void SendEmailDiffusionPlanActionFicheSecurite(FicheSecurite ficheSecurite) { Site site = db.Sites.First(s => s.SiteID == ficheSecurite.SiteId); string to = GetEmailFor("DiffusionPlanActionFicheSecurite", db.Sites.Find(ficheSecurite.SiteId).Trigramme); to = addFicheSecuriteResponsableEmailToString(to, ficheSecurite); to = addActionResponsableEmailToString(to, ficheSecurite); MailAddress from = new MailAddress("*****@*****.**"); string subject = "Diffusion Plan d'action"; string body = "<H4>Le plan d'action de la Fiche Securite " + ficheSecurite.Code + " vient d'être diffusé</H4> </br>"; if (to != "" && to != null) { SendEmail(from, subject, body, to); } }
public void SendEmailRejetPlanActionFicheSecurite(FicheSecurite ficheSecurite) { Site site = db.Sites.First(s => s.SiteID == ficheSecurite.SiteId); string to = GetEmailFor("RejetPlanActionFicheSecurite", db.Sites.Find(ficheSecurite.SiteId).Trigramme); to = addFicheSecuriteResponsableEmailToString(to, ficheSecurite); to = addActionResponsableEmailToString(to, ficheSecurite); MailAddress from = new MailAddress("*****@*****.**"); string subject = "Rejet Plan d'action"; string body = "<H4>Le plan d'action de la Fiche Securite " + ficheSecurite.Code + " vient d'être rejeté</H4> Voici la cause du rejet : </br>" + ficheSecurite.WorkFlowASERejeteeCause; if (to != "" && to != null) { SendEmail(from, subject, body, to); } }
public FicheSecuriteViewModel( FicheSecurite ficheSecurite, List <Zone> AllZone, List <Lieu> AllLieu, List <Service> AllService, List <PosteDeTravail> AllPosteDeTravail ) { this.FicheSecurite = ficheSecurite; this.AllZone = AllZone; this.AllLieu = AllLieu; this.AllService = AllService; this.AllPosteDeTravail = AllPosteDeTravail; this.AllSite = db.Sites.ToList(); // new List<Site>(); this.AllFicheSecuriteType = db.FicheSecuriteTypes.ToList(); this.AllDanger = db.Dangers.ToList(); this.AllPlageHoraire = db.PlageHoraires.ToList(); this.AllCorpsHumainZone = db.CorpsHumainZones.ToList(); this.AllRisqueType = db.RisqueTypes.ToList(); this.AllRisque = db.Risques.ToList(); this.FicheSecuriteDate = this.FicheSecurite.DateEvenement.Date.ToString("dd/MM/yyyy"); this.FicheSecuriteHeure = this.FicheSecurite.DateEvenement.Date.ToString("HH:mm"); }
public void SendEmailDiffusionFicheSecurite(FicheSecurite FicheSecurite) { MailMessage mail = new MailMessage(); // TODO : Créer une classe pour construire des adresses ... ? UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext); string urlToFicheSecurite = url.Action("Edit", "FicheSecurite", new System.Web.Routing.RouteValueDictionary(new { id = FicheSecurite.FicheSecuriteID }), "http", HttpContext.Current.Request.Url.Host); string ActionImmediate2 = ""; if (FicheSecurite.ActionImmediate2 != null && FicheSecurite.ActionImmediate2 != "") { ActionImmediate2 = "<div> - " + FicheSecurite.ActionImmediate2 + "</div>"; } String body = "<div style='font-family: Verdana, sans-serif;'><H1 style='background-color:#C42031;color:#FFFFFF;text-align:center;border-radius: 25px;'>Nouvelle Fiche Sécurité à " + FicheSecurite.Site.Trigramme + "</H1>" + "<div><span style='font-weight: bold;text-decoration: underline;'>" + db.FicheSecuriteTypes.Find(FicheSecurite.FicheSecuriteTypeId).Nom + "</span>" + " de <span style='font-weight: bold;text-decoration: underline;'>" + FicheSecurite.PersonneConcernee.Prenom + " " + FicheSecurite.PersonneConcernee.Nom + "</span></div>" + "<br/>" + "<div style='font-weight: bold;text-decoration: underline;'>Description :</div>" + "<div>" + FicheSecurite.Description + "</div>" + "<br/>" + "<div style='font-weight: bold;text-decoration: underline;'>Action(s) immédiate(s) :</div>" + "<div> - " + FicheSecurite.ActionImmediate1 + "</div>" + ActionImmediate2 + "<br/>" + "<div> Lien vers la fiche : " + urlToFicheSecurite + "</div></div>"; MailAddress from = new MailAddress("*****@*****.**"); string subject = "Nouvelle Fiche Sécurité à " + FicheSecurite.Site.Trigramme; string to = GetEmailFor("DiffusionFicheSecurite", FicheSecurite.Site.Trigramme); //db.Sites.Find(FicheSecurite.SiteId).Trigramme); to = addFicheSecuriteResponsableEmailToString(to, FicheSecurite); if (to != "" && to != null) { SendEmail(from, subject, body, to); } }
public ActionResult Edit(Boolean HeureEvenementValide, [Bind(Include = "FicheSecuriteID,Code,Type,Nom,Prenom,PosteDeTravail,Service,Responsable,DateCreation,Zone,Lieu,PersonnesConcernees,Description,CotationFrequence,CotationGravite,CotationVolume,SiteId,FicheSecuriteTypeId,Risque,Age,PlageHoraireId,Temoins, ActionImmediate1, ActionImmediate2,CorpsHumainZone")] FicheSecurite ficheSecurite) { if (ModelState.IsValid) { db.Entry(ficheSecurite).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.SiteId = new SelectList(db.Sites, "SiteID", "Nom", ficheSecurite.SiteId); ViewBag.ZoneId = new SelectList(db.Zones, "ZoneId", "Nom", ficheSecurite.ZoneId); ViewBag.LieuId = new SelectList(db.Lieux, "LieuId", "Nom", ficheSecurite.LieuId); ViewBag.FicheSecuriteTypeId = new SelectList(db.FicheSecuriteTypes, "FicheSecuriteTypeId", "Nom"); ViewBag.DangerId = new SelectList(db.Dangers, "DangerId", "Nom"); ViewBag.PlageHoraireId = new SelectList(db.PlageHoraires, "PlageHoraireId", "Nom"); //int CotationFrequence = ficheSecurite.CotationFrequence != null ? ficheSecurite.CotationFrequence : 0; //int CotationGravite = ficheSecurite.CotationGravite != null ? ficheSecurite.CotationGravite : 0; ViewBag.CriticiteBrute = ficheSecurite.CotationFrequence * ficheSecurite.CotationGravite; return(View("~/Views/HSE/FicheSecurite/Create.cshtml", ficheSecurite)); }
private string addActionResponsableEmailToString(String to, FicheSecurite ficheSecurite) { _activeDirectoryUtilisateurRepository = new ActiveDirectoryUtilisateurRepository(); ActiveDirectoryUtilisateurDTO ResponsableActiveDirectoryUtilisateurDTO; List <Personne> allActionResponsable = new List <Personne>(); foreach (CauseQSE cause in ficheSecurite.CauseQSEs) { foreach (ActionQSE action in cause.ActionQSEs) { allActionResponsable.Add(action.Responsable); } } for (int i = 0; i < allActionResponsable.Count(); i++) { String toResponsable = ""; ResponsableActiveDirectoryUtilisateurDTO = _activeDirectoryUtilisateurRepository.GetActiveDirectoryUtilisateurByNomPrenom(allActionResponsable[i].Nom, allActionResponsable[i].Prenom); if (ResponsableActiveDirectoryUtilisateurDTO != null) { toResponsable = ResponsableActiveDirectoryUtilisateurDTO.email; } if (toResponsable != "" && toResponsable != null) { if (to != "" && toResponsable != null) { to += ","; } to += toResponsable; } } return(to); }
public ActionResult Create(DateTime DateEvenement, Boolean HeureEvenementValide, String HeureEvenement, String CorpsHumainSelectedHidden, [Bind(Include = "FicheSecuriteID,Code,Type,Nom,Prenom,PosteDeTravail,DateCreation,Service,Responsable,ZoneId,LieuId,PersonnesConcernees,Description,CotationFrequence,CotationGravite,CotationVolume,SiteId,FicheSecuriteTypeId,Risque,Age,PlageHoraireId,Temoins,ActionImmediate1,ActionImmediate2,CorpsHumainZone, DangerId")] FicheSecurite ficheSecurite) { TimeSpan ts = new TimeSpan(10, 30, 0); //ficheSecurite.DateEvenement = HeureEvenementValide ? ficheSecurite.DateEvenement : if (HeureEvenementValide) { ficheSecurite.DateEvenement = DateEvenement + TimeSpan.Parse(HeureEvenement + ":00"); } ficheSecurite.DateCreation = DateTime.Now; //CorpsHumainZone corpsHumainZone = (CorpsHumainZone)db.CorpsHumainZones.SingleOrDefault(c => c.Code == CorpsHumainSelectedHidden); var query = from a in db.CorpsHumainZones where a.Code == CorpsHumainSelectedHidden select a; CorpsHumainZone corpsHumainZone = query.FirstOrDefault(); ficheSecurite.CorpsHumainZone = corpsHumainZone; var errors = ViewData.ModelState.Where(n => n.Value.Errors.Count > 0).ToList(); if (ModelState.IsValid) { db.FicheSecurites.Add(ficheSecurite); db.SaveChanges(); return(RedirectToAction("Index")); } List <Zone> Zones = new List <Zone>(); List <Lieu> Lieux = new List <Lieu>(); String[] roles = Roles.GetRolesForUser(); //foreach (String NomRole in roles){ // Console.WriteLine("Role : " + NomRole); //} //Site site = db.Sites.Find; ViewBag.SiteId = new SelectList(db.Sites, "SiteID", "Trigramme", ficheSecurite.SiteId); ViewBag.ZoneId = new SelectList(Zones, "ZoneId", "Nom"); ViewBag.LieuId = new SelectList(Lieux, "LieuId", "Nom"); ViewBag.FicheSecuriteTypeId = new SelectList(db.FicheSecuriteTypes, "FicheSecuriteTypeId", "Nom"); ViewBag.DangerId = new SelectList(db.Dangers, "DangerId", "Nom"); ViewBag.PlageHoraireId = new SelectList(db.PlageHoraires, "PlageHoraireId", "Nom"); ViewBag.DateEvenement = ficheSecurite.DateEvenement.Date.ToString("dd/MM/yyyy"); ViewBag.HeureEvenement = ficheSecurite.DateEvenement.Date.ToString("HH:mm"); return(View("~/Views/HSE/FicheSecurite/Create.cshtml", ficheSecurite)); }
// GET api/fichesecuriteapi/5 public HttpResponseMessage Get(int id) { var boo = User.Identity.IsAuthenticated; var z = User.Identity.GetUserId(); var p = 1; _activeDirectoryUtilisateurRepository = new ActiveDirectoryUtilisateurRepository(); FicheSecurite ficheSecurite; List <Zone> AllZone; List <Lieu> AllLieu; List <Service> AllService; List <PosteDeTravail> AllPosteDeTravail; // Si l'ID = -1 >> Nouvelle Fiche if (id == -1) { Site SiteUser = _activeDirectoryUtilisateurRepository.GetCurrentUserSite(); ficheSecurite = new FicheSecurite() { CotationFrequence = 1, CotationGravite = 1, SiteId = SiteUser.SiteID, WorkFlowDiffusee = false, WorkFlowAttenteASEValidation = false, WorkFlowASEValidee = false, WorkFlowASERejetee = false, WorkFlowCloturee = false }; var queryZone = from a in db.Zones where a.SiteId == SiteUser.SiteID select a; AllZone = queryZone.ToList(); AllLieu = new List <Lieu>(); var queryService = from a in db.Services where a.SiteId == SiteUser.SiteID select a; AllService = queryService.ToList(); AllPosteDeTravail = new List <PosteDeTravail>(); } // Si l'ID != -1 >> Fiche existante else { ficheSecurite = _ficheSecuriteRepository.Get(id); if (ficheSecurite == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } var queryZone = from a in db.Zones where a.SiteId == ficheSecurite.SiteId select a; AllZone = queryZone.ToList(); var queryLieu = from a in db.Lieux where a.ZoneId == ficheSecurite.ZoneId orderby a.Rang select a; AllLieu = queryLieu.ToList(); var queryService = from a in db.Services where a.SiteId == ficheSecurite.SiteId select a; AllService = queryService.ToList(); var queryPosteDeTravail = from a in db.PosteDeTravails where a.ZoneId == ficheSecurite.ZoneId orderby a.Rang select a; AllPosteDeTravail = queryPosteDeTravail.ToList(); } var ficheSecuriteViewModel = new FicheSecuriteViewModel(ficheSecurite, AllZone, AllLieu, AllService, AllPosteDeTravail); return(Request.CreateResponse(HttpStatusCode.OK, ficheSecuriteViewModel)); }