예제 #1
0
        public ActionResult Create(User user)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //check for unique email and username
                    if (Repository.GetByEmail(user.Email) != null)
                    {
                        ModelState.AddModelError("Email", "Email address already in use");
                        return View();
                    }

                    if (Repository.GetByUsername(user.Username) != null)
                    {
                        ModelState.AddModelError("Username", "Username already in use");
                        return View();
                    }

                    if (Repository.Create(user) > 0)
                    {
                        setSessionUser(user);
                    };
                }

                return RedirectToAction("Index");
            }
            catch(Exception ex)
            {
                TempData["Message"] = ex.Message;
                return View();
            }
        }
예제 #2
0
 private void setSessionUser(User user)
 {
     SessionUser.SetCurrent(new SessionUser(
             new string[] { RoleConstants.ACTIVE_USERS }, user.Username)
                 { LoginDate = DateTime.Now, Email = user.Email });
 }
예제 #3
0
        public ActionResult Edit(User user)
        {
            try
            {
                var currentUser = Repository.GetByUsername(user.Username);

                if (ModelState.IsValid)
                {
                    if (currentUser.Email != user.Email && Repository.GetByEmail(user.Email) != null)
                    {
                        ModelState.AddModelError("Email", "Email already in use");
                    }

                    Repository.Update(user);
                }

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }