示例#1
0
        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();
        }
示例#2
0
        // POST api/ActionQSE
        //[ResponseType(typeof(ActionQSE))]
        public HttpResponseMessage PostActionQSE(ActionQSE actionQSE)
        {
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}
            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 = new FicheSecuriteServices();
                _ficheSecuriteServices.FicheSecuriteOpenOrClose(actionQSE);
            }

            return(Request.CreateResponse <ActionQSE>(HttpStatusCode.OK, actionQSE, Configuration.Formatters.JsonFormatter));
        }
示例#3
0
        public IHttpActionResult GetActionQSE(int id)
        {
            ActionQSE actionqse = db.ActionQSEs.Find(id);

            if (actionqse == null)
            {
                return(NotFound());
            }

            return(Ok(actionqse));
        }
示例#4
0
        public IHttpActionResult DeleteActionQSE(int id)
        {
            ActionQSE actionqse = db.ActionQSEs.Find(id);

            if (actionqse == null)
            {
                return(NotFound());
            }

            db.ActionQSEs.Remove(actionqse);
            db.SaveChanges();

            if (actionqse.CauseQSEId != 0 && actionqse.CauseQSEId != null)
            {
                _ficheSecuriteServices = new FicheSecuriteServices();
                _ficheSecuriteServices.FicheSecuriteOpenOrClose(actionqse);
            }

            return(Ok(actionqse));
        }
示例#5
0
        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));
        }
示例#6
0
        public ActionQSE Get(Int32 id)
        {
            ActionQSE ActionQSE = _db.ActionQSEs.SingleOrDefault(r => r.ActionQSEId == id);

            return(ActionQSE);
        }
示例#7
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 = new FicheSecuriteServices();
                    _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);
        }
 public ActionEnCoursViewModel(ActionQSE _action)
 {
     this.ActionQSE = _action;
 }