protected override void OnAuthorization(AuthorizationContext filterContext) { base.OnAuthorization(filterContext); if (Request.IsAuthenticated) { m_currentUser = new UsersRepository().FindUserByEmail(Email.Parse(User.Identity.Name)); } }
public void Create(User user) { using (var connection = DatabaseConnection.CreateConnection()) { var command = connection.CreateCommand(); command.CommandText = "INSERT INTO [dbo].[user](email, name, password) VALUES (@email, @name, @password)"; command.Parameters.AddWithValue("@email", user.Email.ToString()); command.Parameters.AddWithValue("@name", user.Name); command.Parameters.AddWithValue("@password", user.Password.ToString()); connection.Open(); command.ExecuteNonQuery(); } }
public ActionResult Register(RegistrationUserRequest request) { if (ModelState.IsValid) { var email = Email.Parse(request.Email); var user = m_users.FindUserByEmail(email); if (user == null) { user = new User(); user.Email = email; user.Name = request.Username; user.Password = Password.CreateFromString(request.Password); m_users.Create(user); return RedirectToAction("Login"); } ModelState.AddModelError("email", "Пользователь с таким адресом эоектронной почты уже зарегистрирован."); } return View(request); }
public User FindUserByEmail(Email email) { using (var connection = DatabaseConnection.CreateConnection()) { var command = connection.CreateCommand(); command.CommandText = "SELECT * FROM [dbo].[user] WHERE email = @email"; command.Parameters.AddWithValue("@email", email.ToString()); connection.Open(); User result = null; using (var reader = command.ExecuteReader(CommandBehavior.CloseConnection)) { if (reader.Read()) { result = new User(); result.UserId = reader.GetInt32(0); result.Name = reader.GetString(1); result.Email = Email.Parse(reader.GetString(2)); result.Password = new Password(reader.GetString(3)); } } return result; } }
public void Create(User user) { throw new NotImplementedException(); }
public TasksRepository(User currentUser) { if (currentUser == null) throw new ArgumentNullException("currentUser"); m_currentUser = currentUser; }