// POST api/ActionQSE public HttpResponseMessage PostActionQSE(ActionQSE actionQSE) { actionQSE.Responsable = PersonneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate(actionQSE.Responsable.Nom, actionQSE.Responsable.Prenom, actionQSE.ResponsableId, db); if (actionQSE.VerificateurId != 0 && actionQSE.VerificateurId != null) { actionQSE.Verificateur = PersonneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate(actionQSE.Verificateur.Nom, actionQSE.Verificateur.Prenom, actionQSE.VerificateurId, db); } db.ActionQSEs.Add(actionQSE); db.SaveChanges(); if (actionQSE.CauseQSEId != 0 && actionQSE.CauseQSEId != null) { FicheSecuriteServices.FicheSecuriteOpenOrClose(actionQSE); } return(Request.CreateResponse <ActionQSE>(HttpStatusCode.OK, actionQSE, Configuration.Formatters.JsonFormatter)); }
public HttpResponseMessage ImportNonConformites() { List <ImportNonConformite> AllImportNonConformite = context.ImportNonConformites.ToList(); foreach (ImportNonConformite ImportNonConformite in AllImportNonConformite) { NonConformite NonConformite = new NonConformite() { Date = ImportNonConformite.Date, Description = ImportNonConformite.Description, Attendu = ImportNonConformite.Attendu, Cause = ImportNonConformite.Cause, NonConformiteOrigineId = ImportNonConformite.NonConformiteOrigineId, NonConformiteGraviteId = ImportNonConformite.NonConformiteGraviteId, NonConformiteDomaineId = ImportNonConformite.NonConformiteDomaineId, SiteId = ImportNonConformite.SiteId, DateCreation = DateTime.Now }; //------- NonConformite.CompteurAnnuelSite = 1; var QueryLastNonConformiteForSiteAnnee = from n in context.NonConformites where n.SiteId == NonConformite.SiteId && n.Date.Year == NonConformite.Date.Year orderby n.CompteurAnnuelSite descending select n; NonConformite LastNonConformiteForSiteAnnee = QueryLastNonConformiteForSiteAnnee.FirstOrDefault(); if (LastNonConformiteForSiteAnnee != null) { if (LastNonConformiteForSiteAnnee.Date.Year == NonConformite.Date.Year) { NonConformite.CompteurAnnuelSite = LastNonConformiteForSiteAnnee.CompteurAnnuelSite + 1; } } Site site = context.Sites.First(s => s.SiteID == NonConformite.SiteId); NonConformite.Code += site.Trigramme + "-" + NonConformite.Date.Year + "-" + NonConformite.CompteurAnnuelSite; context.NonConformites.Add(NonConformite); context.SaveChanges(); //----- var QueryImportActionforImportNonConformite = from a in context.ImportActions where a.NonConformiteId == ImportNonConformite.Id select a; List <ImportAction> AllImportAction = QueryImportActionforImportNonConformite.ToList(); foreach (ImportAction ImportAction in AllImportAction) { ActionQSE ActionQSE = new ActionQSE() { NonConformiteId = NonConformite.Id, Titre = ImportAction.Titre, Description = ImportAction.Description, DateButoireInitiale = ImportAction.DateButoireInitiale, DateButoireNouvelle = ImportAction.DateButoireNouvelle, Avancement = ImportAction.Avancement, PreuveVerification = ImportAction.PreuveVerification, CommentaireEfficaciteVerification = ImportAction.CommentaireEfficaciteVerification, RealiseDate = ImportAction.RealiseDate, VerifieDate = ImportAction.VerifieDate, CritereEfficaciteVerification = ImportAction.CritereEfficaciteVerification }; ActionQSE.Responsable = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate( ImportAction.ResponsableNom, ImportAction.ResponsablePrenom, null, context ); ActionQSE.Verificateur = _personneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate( ImportAction.VerificateurNom, ImportAction.VerificateurPrenom, null, context ); context.ActionQSEs.Add(ActionQSE); context.SaveChanges(); } } context.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); }
// PUT api/ActionQSE/5 public HttpResponseMessage PutActionQSE(int id, ActionQSE actionqse) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, Configuration.Formatters.JsonFormatter)); } if (id != actionqse.ActionQSEId) { return(Request.CreateResponse(HttpStatusCode.BadRequest, Configuration.Formatters.JsonFormatter)); } var currentAction = db.ActionQSEs.Find(actionqse.ActionQSEId); db.Entry(currentAction).CurrentValues.SetValues(actionqse); db.Entry(currentAction).State = EntityState.Modified; try { if (currentAction.ResponsableId == 0) { currentAction.Responsable = PersonneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate( currentAction.Responsable.Nom, currentAction.Responsable.Prenom, currentAction.ResponsableId, db ); } if (currentAction.VerificateurId == 0) { currentAction.Responsable = PersonneAnnuaireService.GetPersonneFromAllAnnuaireOrCreate( currentAction.Responsable.Nom, currentAction.Responsable.Prenom, currentAction.ResponsableId, db ); } db.SaveChanges(); if (currentAction.CauseQSEId != 0 && currentAction.CauseQSEId != null) { FicheSecuriteServices.FicheSecuriteOpenOrClose(currentAction); } } catch (DbUpdateConcurrencyException) { if (!ActionQSEExists(id)) { return(Request.CreateResponse(HttpStatusCode.NotFound, Configuration.Formatters.JsonFormatter)); } else { throw; } } // Si l'action appartient à une FS (et non une NC) >> On passe aussi la FS pour chercher la mise à jour de l'état de la FS (Workflow) dans la View. if (currentAction.CauseQSEId != null) { Dictionary <string, Object> Response = new Dictionary <string, Object>(); Response.Add("FicheSecurite", currentAction.CauseQS.FicheSecurite); Response.Add("Action", currentAction); return(Request.CreateResponse(HttpStatusCode.OK, Response, Configuration.Formatters.JsonFormatter)); } return(Request.CreateResponse(HttpStatusCode.OK, currentAction, Configuration.Formatters.JsonFormatter)); //StatusCode(HttpStatusCode.NoContent, currentAction, Configuration.Formatters.JsonFormatter); }