예제 #1
0
        private string GetEmailFor(string parametrage, string trigramme)
        {
            _activeDirectoryUtilisateurRepository = new ActiveDirectoryUtilisateurRepository();
            string email = "";

            ParametrageHSE ParametrageHSE = db.ParametrageHSEs.FirstOrDefault();

            switch (parametrage)
            {
            case "DiffusionFicheSecurite":
                email = ParametrageHSE.EmailDiffusionFS;
                break;

            case "RejetPlanActionFicheSecurite":
                email = ParametrageHSE.EmailValidationRejetPlanActionFS;
                break;

            case "ValidationPlanActionFicheSecurite":
                email = ParametrageHSE.EmailValidationRejetPlanActionFS;
                break;

            case "DiffusionPlanActionFicheSecurite":
                email = ParametrageHSE.EmailDiffusionPlanAction;
                break;
            }

            if (email == "SELF")
            {
                email = _activeDirectoryUtilisateurRepository.GetCurrentUserEmail();
            }

            string emailWithoutSiteSpecialCaracters = SiteSpecialCaractersReplace(email, trigramme);

            return(emailWithoutSiteSpecialCaracters);
        }
예제 #2
0
        public HttpResponseMessage saveParametrageHSEEmail(ParametrageHSE parametrageHSE)
        {
            context.Entry(parametrageHSE).State = EntityState.Modified;
            context.SaveChanges();


            return(Request.CreateResponse(HttpStatusCode.OK, parametrageHSE));
        }
예제 #3
0
        public HttpResponseMessage GetHSEParametrage()
        {
            ParametrageHSE ParametrageHSE = context.ParametrageHSEs.FirstOrDefault();

            if (ParametrageHSE == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NoContent));
            }

            var queryRoles = from a in context.ADRoles
                             where a.RoleType == "HSE"
                             select a;
            List <ADRole> AllADRole = queryRoles.ToList();

            // ! Créer une objet de réponse au lieu de mettre ça dans un dictionnary
            Dictionary <String, Object> Response = new Dictionary <String, Object>();

            Response.Add("Parametrage", ParametrageHSE);
            Response.Add("Roles", AllADRole);

            return(Request.CreateResponse(HttpStatusCode.OK, Response));
        }
예제 #4
0
        private void SendEmail(MailAddress from, String subject, string body, string to)
        {
            ParametrageHSE ParametrageHSE = db.ParametrageHSEs.FirstOrDefault();

            MailMessage mail = new MailMessage();

            mail.From    = from;
            mail.Subject = subject;
            mail.Body    = body;
            mail.To.Add(to);
            mail.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient();

            smtp.Host = "dlf-sk8vm03.refresco.local";
            smtp.Port = 25;
            smtp.UseDefaultCredentials = true; // si false, décommenter la ligne de dessous
            //smtp.Credentials = new System.Net.NetworkCredential("username", "password"); // Renseigner le nom d'utilisateur et le mot de passe
            smtp.EnableSsl = false;

            //On crée un nouveau Thread, afin de ne pas attendre l'authentification serveur Exchange pour envoyer le mail.
            Thread T1 = new Thread(delegate()
            {
                try
                {
                    if (ParametrageHSE.IsEmailDiffusion == true)
                    {
                        smtp.Send(mail);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            });

            T1.Start();
        }