예제 #1
0
 public FicheSecuriteController()
 {
     _ficheSecuriteRepository = new FicheSecuriteRepository();
     _personneRepository      = new PersonneRepository();
     _activeDirectoryUtilisateurRepository = new ActiveDirectoryUtilisateurRepository();
     _personneAnnuaireService = new PersonneAnnuaireService(db);
     _emailService            = new EmailService();
 }
예제 #2
0
        // 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));
        }
예제 #3
0
 public DialogueSecuriteController()
 {
     _personneAnnuaireService = new PersonneAnnuaireService(db);
     _emailService            = new EmailService();
 }
예제 #4
0
        // 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);
        }
예제 #5
0
 public ActionQSEController()
 {
     _personneAnnuaireService = new PersonneAnnuaireService(db);
 }