/// <summary> /// Adds a new user to this blog /// </summary> /// <param name="user">The user to allow access to</param> public void AddUser(User user) { if (!this.Users.Contains(user)) { this.Users.Add(user); } }
/// <summary> /// Configure a new blog application with a default admin user /// </summary> /// <param name="sitename">The name of the blog</param> /// <param name="title">The title of the blog</param> /// <param name="name">The name of the default user</param> /// <param name="email">The email of the user</param> /// <param name="password">The password</param> /// <returns></returns> public ServiceResponse<bool> Configure(string sitename, string title, string name, string email, string password) { Func<bool> func = delegate { var blog = new Blog() { SiteName = sitename, Title = title }; var salt = DevOne.Security.Cryptography.BCrypt.BCryptHelper.GenerateSalt(); var hash = DevOne.Security.Cryptography.BCrypt.BCryptHelper.HashPassword(password, salt); var user = new User() { DisplayName = name, Email = email, PasswordHash = hash }; blog.AddUser(user); return context.Save(blog).Id > 0; }; return this.Execute(func); }