Example #1
0
        public ActionResult SupprimerUtilSecteur(int?idUtil, int?idSecteur)
        {
            if (idUtil != null && idSecteur != null)
            {
                SECTEUR leS = db.SECTEUR.SingleOrDefault(s => s.ID == idSecteur);

                if (leS != null)
                {
                    var lien = from u in db.UTILISATEURSECTEUR
                               where u.IDSECTEUR == idSecteur && u.IDUTILISATEUR == idUtil
                               select u;

                    if (lien != null)
                    {
                        UTILISATEURSECTEUR util = lien.FirstOrDefault();
                        db.UTILISATEURSECTEUR.Remove(util);

                        db.SaveChanges();
                        return(RedirectToAction("UtilisateursSecteur", new { @idSect = idSecteur }));
                    }
                }
            }

            return(RedirectToAction("GestionSecteurs"));
        }
Example #2
0
        public ActionResult ModifUtilSecteur(ModifSecteurUtilDates model)
        {
            if (ModelState.IsValid)
            {
                UTILISATEURSECTEUR us = db.UTILISATEURSECTEUR.FirstOrDefault(s => s.IDSECTEUR == model.idSecteur && s.IDUTILISATEUR == model.idUtil);

                if (us != null)
                {
                    if (model.debutAcces.CompareTo(model.finAcces) < 0)
                    {
                        us.DEBUTACCES = model.debutAcces;
                        us.FINACCES   = model.finAcces;

                        db.SaveChanges();

                        TempData[Constantes.CLE_MSG_RETOUR] =
                            new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserModifOk);
                    }
                    else
                    {
                        ModelState.AddModelError("", Resources.Messages.DateGreaterThan);
                        return(View(model));
                    }
                }

                return(RedirectToAction("UtilisateursSecteur", "Admin", new { idSect = model.idSecteur }));
            }
            return(View(model));
        }
Example #3
0
        public ActionResult UtilisateursSecteur(AjoutUtilSecteurModel model)
        {
            if (ModelState.IsValid)
            {
                var leS = db.SECTEUR.SingleOrDefault(s => s.ID == model.idSecteur);
                var leU = db.UTILISATEUR.SingleOrDefault(u => u.ID == model.idUtil);

                if (leS != null && leU != null)
                {
                    if (model.debutAcces.CompareTo(model.finAcces) < 0)
                    {
                        UTILISATEURSECTEUR lien = new UTILISATEURSECTEUR();
                        lien.IDSECTEUR     = model.idSecteur;
                        lien.IDUTILISATEUR = model.idUtil;
                        lien.DEBUTACCES    = model.debutAcces;
                        lien.FINACCES      = model.finAcces;

                        db.UTILISATEURSECTEUR.Add(lien);

                        db.SaveChanges();

                        TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserAjoutSectOk);
                    }
                    else
                    {
                        TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.ERREUR, Resources.Messages.DateGreaterThan);
                    }
                }

                return(RedirectToAction("UtilisateursSecteur", new { @idSect = model.idSecteur }));
            }

            return(View(model));
        }
Example #4
0
        public ActionResult ModifUtilSecteur(int?idUtil, int?idSecteur)
        {
            if (idSecteur != null && idUtil != null)
            {
                UTILISATEURSECTEUR us = db.UTILISATEURSECTEUR.FirstOrDefault(s => s.IDSECTEUR == idSecteur && s.IDUTILISATEUR == idUtil);

                if (us != null)
                {
                    ModifSecteurUtilDates model = new ModifSecteurUtilDates();
                    model.idUtil     = us.IDUTILISATEUR;
                    model.idSecteur  = us.IDSECTEUR;
                    model.debutAcces = us.DEBUTACCES;
                    model.finAcces   = us.FINACCES;
                    return(View(model));
                }
            }

            return(RedirectToAction("UtilisateursSecteur", "Admin"));
        }
Example #5
0
        public ActionResult AjoutSecteur(ContentSecteurModel model)
        {
            if (ModelState.IsValid)
            {
                string  desc      = Message.NewlineToBr(model.contenu);
                string  descTrad  = Message.NewlineToBr(model.contenuTrad);
                SECTEUR leSecteur = new SECTEUR();
                leSecteur.NOM              = model.nom;
                leSecteur.NOMTRAD          = model.nomTrad;
                leSecteur.TITREACCUEIL     = model.titre;
                leSecteur.TITREACCUEILTRAD = model.titreTrad;
                leSecteur.TEXTEACCUEIL     = desc;
                leSecteur.TEXTEACCUEILTRAD = descTrad;

                if (model.File != null)
                {
                    HttpPostedFileBase fichier = model.File;

                    int      MaxContentLength      = 1024 * 1024 * 2; //2 MB
                    string[] AllowedFileExtensions = new string[] { ".jpg", ".jpeg" };

                    if (!AllowedFileExtensions.Contains(fichier.FileName.Substring(fichier.FileName.LastIndexOf('.'))))
                    {
                        ModelState.AddModelError("", Resources.Messages.FileType + string.Join(", ", AllowedFileExtensions));
                    }
                    else if (fichier.ContentLength > MaxContentLength)
                    {
                        ModelState.AddModelError("", Resources.Messages.FileTooLarge + (MaxContentLength / 1024).ToString() + "MB");
                    }
                    else
                    {
                        //HttpPostedFileBase file = Request.Files.Get(0);

                        //string url = Fichiers.CheminEnvoisImages(fichier.FileName);
                        var fileName = Path.GetFileName(fichier.FileName);
                        var path     = Path.Combine(Server.MapPath("~/Content/images/photos"), fileName);

                        fichier.SaveAs(path);

                        leSecteur.URLIMAGEACCUEIL = fileName;
                    }
                }

                db.SECTEUR.Add(leSecteur);
                db.SaveChanges();

                var lesAdmins = from a in db.UTILISATEUR
                                where a.webpages_Roles.All(r => r.RoleName.Equals("admin"))
                                select a;

                if (lesAdmins.FirstOrDefault() != null)
                {
                    int idNewSect = leSecteur.ID;

                    UTILISATEURSECTEUR newU;
                    DateTime           debut = DateTime.Now;
                    DateTime           fin   = DateTime.Now.AddYears(4);
                    foreach (var a in lesAdmins)
                    {
                        newU               = new UTILISATEURSECTEUR();
                        newU.IDSECTEUR     = idNewSect;
                        newU.IDUTILISATEUR = a.ID;
                        newU.DEBUTACCES    = debut;
                        newU.FINACCES      = fin;
                        db.UTILISATEURSECTEUR.Add(newU);
                    }

                    db.SaveChanges();
                }
                TempData[Constantes.CLE_MSG_RETOUR] =
                    new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.SectAjoutOk);

                return(RedirectToAction("GestionSecteurs"));
            }

            return(View(model));
        }
Example #6
0
        public ActionResult ModifUtilisateur(ModifUtilisateurModel model)
        {
            if (ModelState.IsValid)
            {
                UTILISATEUR u = db.UTILISATEUR.SingleOrDefault(i => i.ID == model.idUtil);
                if (!u.NOMUTIL.Equals(model.nomUtil))
                {
                    u.NOMUTIL = model.nomUtil;
                }

                u.COURRIEL      = model.courriel;
                u.PRENOM        = model.prenom;
                u.NOM           = model.nom;
                u.ADRESSE       = model.adresse;
                u.VILLE         = model.ville;
                u.DATENAISSANCE = model.dateNaissance;
                u.LANGUE        = model.langue;
                u.IDECOLE       = model.idEcole;
                u.ACTIF         = model.active;

                db.SaveChanges();

                string currentRole = u.webpages_Roles.FirstOrDefault().RoleName;

                if (!currentRole.Equals(model.roleName))
                {
                    Roles.RemoveUserFromRole(u.NOMUTIL, currentRole);
                    Roles.AddUserToRole(u.NOMUTIL, model.roleName);
                }

                if (currentRole.Equals("admin") && !currentRole.Equals(model.roleName))
                {
                    var utilSect = from uti in db.UTILISATEURSECTEUR
                                   where uti.IDUTILISATEUR == u.ID
                                   select uti;

                    foreach (var utSect in utilSect)
                    {
                        UTILISATEURSECTEUR usect = (UTILISATEURSECTEUR)utSect;

                        db.UTILISATEURSECTEUR.Remove(usect);
                    }
                }
                if (model.roleName.Equals("admin"))
                {
                    List <SECTEUR> allSect = db.SECTEUR.ToList();

                    int idUtil = WebSecurity.GetUserId(model.nomUtil);
                    foreach (var s in allSect)
                    {
                        bool lienExiste = db.UTILISATEURSECTEUR.Any(us => us.IDSECTEUR == s.ID && us.IDUTILISATEUR == idUtil);

                        if (!lienExiste)
                        {
                            UTILISATEURSECTEUR lien = new UTILISATEURSECTEUR();
                            lien.IDSECTEUR     = s.ID;
                            lien.IDUTILISATEUR = idUtil;
                            lien.DEBUTACCES    = DateTime.Now;
                            lien.FINACCES      = DateTime.Now.AddYears(10);

                            db.UTILISATEURSECTEUR.Add(lien);
                        }
                    }
                }

                db.SaveChanges();

                TempData[Constantes.CLE_MSG_RETOUR] =
                    new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserModifOk);

                return(RedirectToAction("GestionUtilisateurs", "Admin"));
            }

            return(View(model));
        }
Example #7
0
        public ActionResult AjoutUtilisateur(AjoutUtilModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    string confirmToken = WebSecurity.CreateUserAndAccount(model.nomUtil, model.password, propertyValues: new
                    {
                        COURRIEL      = model.courriel,
                        PRENOM        = model.prenom,
                        NOM           = model.nom,
                        ADRESSE       = model.adresse,
                        VILLE         = model.ville,
                        DATENAISSANCE = model.dateNaissance,
                        IDECOLE       = model.idEcole,
                        ACTIF         = model.active
                    }, requireConfirmationToken: true);

                    if (!string.IsNullOrEmpty(confirmToken))
                    {
                        Roles.AddUserToRole(model.nomUtil, model.roleName);
                    }

                    if (model.roleName.Equals("admin"))
                    {
                        List <SECTEUR> allSect = db.SECTEUR.ToList();

                        int idUtil = WebSecurity.GetUserId(model.nomUtil);
                        foreach (var s in allSect)
                        {
                            UTILISATEURSECTEUR lien = new UTILISATEURSECTEUR();
                            lien.IDSECTEUR     = s.ID;
                            lien.IDUTILISATEUR = idUtil;
                            lien.DEBUTACCES    = DateTime.Now;
                            lien.FINACCES      = DateTime.Now.AddYears(10);

                            db.UTILISATEURSECTEUR.Add(lien);
                        }

                        db.SaveChanges();
                    }

                    MailMessage mail = new MailMessage();
                    mail.From = new MailAddress(Constantes.EMAIL);
                    mail.To.Add(model.courriel);
                    mail.Subject = Resources.Sectoriel.ConfirmAccount;
                    string urlPath    = Request.Url.GetLeftPart(UriPartial.Authority);
                    string lienRetour = urlPath + "/Sectoriel/ConfirmationCompte/" + confirmToken;
                    string message    = String.Format(Resources.Sectoriel.msgConfirmAccount, model.nomUtil);
                    message        += "<a href=\"";
                    message        += lienRetour;
                    message        += "\">";
                    message        += lienRetour;
                    message        += "</a>";
                    mail.IsBodyHtml = true;
                    mail.Body       = message;

                    SmtpClient smtp = new SmtpClient();
                    smtp.Host = Constantes.HOST;
                    smtp.Port = Constantes.PORT;
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials           = new System.Net.NetworkCredential(Constantes.EMAIL, Constantes.EMAIL_PWD);
                    smtp.EnableSsl             = true;
                    smtp.Send(mail);


                    TempData[Constantes.CLE_MSG_RETOUR] =
                        new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserAddedOk);

                    return(RedirectToAction("GestionUtilisateurs", "Admin"));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }
            else
            {
                List <ECOLE>          lstEcoles = db.ECOLE.ToList();
                List <webpages_Roles> lstRoles  = db.webpages_Roles.ToList();
                model.Ecoles = lstEcoles.Select(e => new SelectListItem
                {
                    Text  = e.NOM,
                    Value = e.ID.ToString()
                });
                model.Roles = lstRoles.Select(r => new SelectListItem
                {
                    Text  = r.RoleName,
                    Value = r.RoleName
                });
            }

            return(View(model));
        }