예제 #1
0
        public ActionResult Create(ManagersCooperativesViewModels managerCoop)
        {
            if (ModelState.IsValid && validForm(managerCoop))
            {
                // Si la coopérative existe, on ne l'ajoute pas en BD
                if (managerCoop.manager.IDCooperative == 0 || managerCoop.manager.IDCooperative == null)
                {
                    db.Cooperative.Add(managerCoop.cooperative);
                    db.SaveChanges();
                    managerCoop.manager.IDCooperative = managerCoop.cooperative.IDCooperative;
                }

                managerCoop.manager.ManagerPassword = UtilResources.EncryptPassword(Request.Form["password1"]);

                db.Manager.Add(managerCoop.manager);
                db.SaveChanges();

                return(RedirectToAction("Index", "Home"));
            }
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", UtilResources.GetLabel("Tous les champs doivent contenir une valeur"));
            }
            return(View(managerCoop));
        }
예제 #2
0
        public bool validForm(ManagersCooperativesViewModels managerCoop)
        {
            bool valid = true;

            //validation si les mots de passes sont pareils
            if (Request.Form["password1"] == "" || Request.Form["password2"] == "" || (Request.Form["password2"] != Request.Form["password1"]))
            {
                valid = false;
                ModelState.AddModelError("", UtilResources.GetLabel("Les mots de passe ne correspondent pas"));
            }

            //validation si la cooperative existe déjà dans la base de données
            if (db.Cooperative.Any(o => o.Name == managerCoop.cooperative.Name))
            {
                //Met à jour les données de la coopérative
                Cooperative temp = db.Cooperative.Where(o => o.Name == managerCoop.cooperative.Name).First();
                managerCoop.manager.IDCooperative = temp.IDCooperative;
                temp.NoStreet        = managerCoop.cooperative.NoStreet;
                temp.Street          = managerCoop.cooperative.Street;
                temp.PostalCode      = managerCoop.cooperative.PostalCode;
                temp.City            = managerCoop.cooperative.City;
                db.Entry(temp).State = EntityState.Modified;
                db.SaveChanges();
            }

            //validation pour le courriel
            if (managerCoop.manager.Email != "" || managerCoop.manager.Email != null)
            {
                try
                {
                    MailAddress mail = new MailAddress(managerCoop.manager.Email);
                }
                catch (FormatException)
                {
                    ModelState.AddModelError("", UtilResources.GetLabel("L'adresse courriel n'est pas valide."));
                    valid = false;
                }
            }
            else
            {
                ModelState.AddModelError("", UtilResources.GetLabel("L'adresse courriel n'est pas valide."));
                valid = false;
            }

            // On regarde si l'email est déjà en BD
            if (db.Manager.Any(o => o.Email == managerCoop.manager.Email))
            {
                valid = false;
                ModelState.AddModelError("", UtilResources.GetLabel("L'adresse courriel est déjà utilisé"));
            }

            return(valid);
        }
        public ActionResult Create([Bind(Include = "IDStudent,FirstName,LastName,Email,PhoneNumber,StudentPassword")] Student student)
        {
            if (ModelState.IsValid && validForm())
            {
                student.StudentPassword = UtilResources.EncryptPassword(Request.Form["password1"]);


                db.Student.Add(student);
                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", UtilResources.GetLabel("Tous les champs doivent contenir une valeur"));
            }
            return(View(student));
        }
        // Valide si les informations entrés par l'utilisateur sont corrects
        public bool validForm()
        {
            bool valid = true;

            //validation si les mots de passes sont pareils
            if (Request.Form["password1"] == null || Request.Form["password2"] == null || (Request.Form["password2"] != Request.Form["password1"]))
            {
                valid = false;
                ModelState.AddModelError("", UtilResources.GetLabel("Les mots de passe ne correspondent pas"));
            }


            // Numero Telephone validation
            // L'utilisateur à le choix de ne pas écrire son # de téléphone
            if (Request.Form["PhoneNumber"] != "")
            {
                // À l'aide des Regular Expression, on regarde si le numéro de téléphone est du bon format.
                string strIn = Request.Form["PhoneNumber"];
                string re1   = @"^((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}$"; // RegEx du numero de telephone

                Regex r = new Regex(re1, RegexOptions.IgnoreCase | RegexOptions.Singleline);
                Match m = r.Match(strIn);
                if (m.Success)
                {
                    String int1 = m.Groups[1].ToString();
                    Console.Write("(" + int1.ToString() + ")" + "\n");

                    // On doit également vérifier si le numéro n'est pas déjà dans la base de donnée
                    if (db.Student.Any(o => o.PhoneNumber == strIn))
                    {
                        valid = false;
                        ModelState.AddModelError("", UtilResources.GetLabel("Ce numéro de téléphone est déjà utilisé"));
                    }
                }
                else
                {
                    valid = false;
                    ModelState.AddModelError("", UtilResources.GetLabel("Numéro de téléphone doit être sous le format: xxx-xxx-xxxx"));
                }
            }

            // Email validation
            string strEmail = Request.Form["Email"];

            if (strEmail != "" || strEmail != null)
            {
                try
                {
                    MailAddress mail = new MailAddress(strEmail);
                }
                catch (FormatException)
                {
                    ModelState.AddModelError("", UtilResources.GetLabel("L'adresse courriel n'est pas valide."));
                    valid = false;
                }
            }
            else
            {
                ModelState.AddModelError("", UtilResources.GetLabel("L'adresse courriel n'est pas valide."));
                valid = false;
            }

            // On regarde si l'email est déjà en BD
            if (db.Student.Any(o => o.Email == strEmail))
            {
                valid = false;
                ModelState.AddModelError("", UtilResources.GetLabel("L'adresse courriel est déjà utilisé"));
            }
            return(valid);
        }