コード例 #1
0
        public IHttpActionResult PutLieu(int id, Lieu lieu)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != lieu.LieuID)
            {
                return(BadRequest());
            }

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LieuExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #2
0
        public IHttpActionResult PutService(int id, Service service)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != service.ServiceID)
            {
                return(BadRequest());
            }

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ServiceExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #3
0
        // PUT api/PosteDeTravail/5
        public IHttpActionResult PutPosteDeTravail(int id, PosteDeTravail postedetravail)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != postedetravail.PosteDeTravailId)
            {
                return(BadRequest());
            }

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PosteDeTravailExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #4
0
        public HttpResponseMessage saveParametrageHSEEmail(ParametrageHSE parametrageHSE)
        {
            context.Entry(parametrageHSE).State = EntityState.Modified;
            context.SaveChanges();


            return(Request.CreateResponse(HttpStatusCode.OK, parametrageHSE));
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        // 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);
            //}
        }
コード例 #7
0
        public ActionResult Create([Bind(Include = "ActionSecuriteId,FicheSecuriteId,Code,Description,FaitPar")] ActionSecurite actionsecurite)
        {
            if (ModelState.IsValid)
            {
                db.ActionSecurites.Add(actionsecurite);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.FicheSecuriteId = new SelectList(db.FicheSecurites, "FicheSecuriteID", "Code", actionsecurite.FicheSecuriteId);
            return(View(actionsecurite));
        }
コード例 #8
0
        public int AddIntervention(string intervenant, string dateIntervention, Boolean planifie, Boolean ferie, string demandeur, string motif, int dureeIntervention, Boolean noteFrais)
        {
            string[] dateSplit    = dateIntervention.Split(' ');
            string[] dateElements = dateSplit[0].Split('-');
            string[] hourElements = dateSplit[1].Split(':');
            DateTime dateInter    = new DateTime(int.Parse(dateElements[2]), int.Parse(dateElements[1]), int.Parse(dateElements[0]), int.Parse(hourElements[0]), int.Parse(hourElements[1]), 0);
            int      jourSemaine  = (int)dateInter.DayOfWeek;

            if (jourSemaine == 0)
            {
                jourSemaine = 7;
            }

            // Jours de la semaine => Lundi: 1, Mardi: 2, Mercredi: 3, Jeudi: 4, Vendredi: 5, Samedi: 6, Dimanche: 7

            int primeInter = 0;
            int primeDimancheEtJourFerie = 0;

            if (!planifie && jourSemaine < 5)
            {
                primeInter = 35;
            }
            if (!planifie && jourSemaine > 4)
            {
                primeInter = 50;
            }

            if (jourSemaine == 7 || ferie)
            {
                primeDimancheEtJourFerie = 38;
            }

            Intervention NouvelleIntervention = new Intervention()
            {
                Intervenant       = intervenant,
                DateIntervention  = dateIntervention,
                Planifie          = planifie,
                Demandeur         = demandeur,
                Motif             = motif,
                DureeIntervention = dureeIntervention,
                NoteFrais         = noteFrais,
                PrimeIntervention = primeInter,
                PrimeDimanche     = primeDimancheEtJourFerie,
                Valide            = false
            };

            db.Interventions.Add(NouvelleIntervention);
            db.SaveChanges();

            return(0);
        }
コード例 #9
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();
        }
コード例 #10
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));
        }
コード例 #11
0
        public int SaveData(string tabData, double date)
        {
            // tabData : chaine formatée comme suit  =>  string ~ string ~ string ~ string | string ~ string ~ string ~ string | ...

            // Tableau de chaines entre les '|'  =>  [string ~ string ~ string ~ string], [string ~ string ~ string ~ string], [...]
            string[] splitTabData = tabData.Split('|');

            // Tableau de tableau de chaines entre les '~'  =>  [[string],[string],[string],[string]], [[string],[string],[string],[string]], [...]
            string[][] tableauData = new string [splitTabData.Count()][];

            for (int i = 0; i < splitTabData.Count(); i++)
            {
                tableauData[i] = splitTabData[i].Split('~');
            }

            var sauvegardes = from s in db.Sauvegardes
                              where s.Date == date
                              select s;

            for (int i = 0; i < tableauData.Count(); i++)
            {
                Sauvegarde SauvegardeSI = new Sauvegarde()
                {
                    Site   = tableauData[i][0],
                    Date   = date,
                    Volume = float.Parse(tableauData[i][1]),
                    Taux   = float.Parse(tableauData[i][2]),
                    Duree  = int.Parse(tableauData[i][3])
                };
                db.Sauvegardes.Add(SauvegardeSI);
            }

            db.SaveChanges();

            return(0);
        }
コード例 #12
0
        public int AjouterTable(string NProjet, int SCouleur, int SVisage, string Com, string PEtape, string DOuverture, string ServiceSI)
        {
            var projets = from p in db.Projets
                          where p.NomProjet == NProjet
                          select p;

            Projet ProjetSI = new Projet()
            {
                // TODO -- vérifier l'unicité du nom projet
                NomProjet      = NProjet,
                StatutCouleur  = SCouleur,
                StatutVisage   = SVisage,
                Commentaire    = Com,
                ProchaineEtape = PEtape,
                DateOuverture  = DOuverture,
                DateCloture    = null,
                Service        = ServiceSI
            };

            db.Projets.Add(ProjetSI);
            db.SaveChanges();

            return(0);
        }
コード例 #13
0
        // PUT: api/CauseQSE/5
        //[ResponseType(typeof(void))]
        public HttpResponseMessage PutCauseQSE(int id, CauseQSE causeQSE)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, Configuration.Formatters.JsonFormatter)); // param : ModelState à voir
            }

            if (id != causeQSE.CauseQSEId)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, Configuration.Formatters.JsonFormatter));
            }

            var currentCause = db.CauseQSEs.Find(causeQSE.CauseQSEId);

            db.Entry(currentCause).CurrentValues.SetValues(causeQSE);

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CauseQSEExists(id))
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound, Configuration.Formatters.JsonFormatter));
                }
                else
                {
                    throw;
                }
            }

            return(Request.CreateResponse(HttpStatusCode.OK, causeQSE, Configuration.Formatters.JsonFormatter));
        }
コード例 #14
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));
        }
コード例 #15
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);
        }