public ActionResult Index(ViewModelLogin model)
        {
            if (ModelState.IsValid)
            {
                //On demande l'user
                var user = Bdd.GetUser(model);
                if (user.IsNull())
                {
                    //Error dans la saisie des informations
                    ModelState.AddModelError("Email", "Les informations saisies ne correspondent à aucun compte");
                    return View(model);
                }

                if (user.IsClient())
                {
                    ModelState.AddModelError("Email", "Vous n'avez pas accés à cette zone");
                    return View(model);
                }
                
                if (user.IsAdministrateurFranchise())
                {
                    AddUserSession(user);
                    return RedirectToAction("Index", "Franchise");
                }

                if (user.IsManager())
                {
                    AddUserSession(user);
                    var manager = (Manager) user;
                    return RedirectToRoute("Backend_salon_index", new { id = manager.IdSalon });
                }

                if (user.IsEmploye())
                {
                    AddUserSession(user);
                }
                
                //On ne connait pas le type de l'user connecté
                ModelState.AddModelError("Email", "Nous ne pouvez déterminer le type de compte que vous avez");
            }
            return View(model);
        }
Esempio n. 2
0
        /// <summary>
        ///     Permet de récupérer un User via le model
        /// </summary>
        /// <param name="model">ViewModelLogin</param>
        /// <returns>User</returns>
        public User GetUser(ViewModelLogin model = null)
        {
            try
            {
                if (model.IsNull()) return null;

                //On convertit en MD5 le password
                var md5 = model.Password.ToMd5();
                if (md5.IsNullOrEmpty()) return null;

                //On cherche l'user
                return Users.FirstOrDefault(u => u.Password.Equals(md5) && u.Email.Equals(model.Email.ToLower()));
            }
            catch (Exception)
            {
                return null;
            }
        }