Example #1
0
 static public Core.Models.User.UserItem Login(Core.Models.User.UserLoginItem user)
 {
     using (var db = new DataModel.Entities())
     {
         var hashedPass = Hash(user.Password);
         var result     = (from i in db.Users
                           where (i.Name == user.UserNameMail || i.Mail == user.UserNameMail) &&
                           i.Password == hashedPass &&
                           i.Deleted == null
                           select new Core.Models.User.UserItem()
         {
             Id = i.Id,
             FirstName = i.FirstName,
             LastName = i.LastName,
             Name = i.Name,
             Mail = i.Mail,
             Role = i.Role
         }).SingleOrDefault();
         return(result);
     }
 }
Example #2
0
        public ActionResult Login(Core.Models.User.UserLoginItem user)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var login = Core.Helpers.User.UserHelper.Login(user);
                    if (login != null)
                    {
                        if (login.Role == Core.Enums.User.UserRole.Pending)
                        {
                            TempData["Error"] = Core.Strings.InvalidRole;
                            return(View());
                        }
                        var roles       = Core.Helpers.User.UserHelper.GetRoles(login.Role);
                        var ticket      = new FormsAuthenticationTicket(0, login.Name, DateTime.Now, DateTime.Now.AddHours(2), false, Newtonsoft.Json.JsonConvert.SerializeObject(login));
                        var encyrptData = FormsAuthentication.Encrypt(ticket);
                        Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encyrptData));
                        if (login.Role == Core.Enums.User.UserRole.Administrator)
                        {
                            return(RedirectToAction("Index", "Home", new { area = "Admin" }));
                        }

                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        TempData["Error"] = Core.Strings.UserNotFound;
                    }
                }
            }
            catch (Exception ex)
            {
                TempData["Error"] = ex.Message;
            }
            return(View());
        }