public static int CreatePermissionGroup(string groupName) { const string query = "INSERT INTO (name) permission_groups VALUES (@name)"; DbManager.PrepareQuery(query); DbManager.BindValue("@name", groupName); DbManager.ExecutePreparedInsertUpdateDelete(); return(DbManager.GetLastId()); }
public static int CreateCategory(Category category) { const string query = "INSERT INTO categories (parent_category_id, name) VALUES (@parentCategoryId, @name)"; DbManager.PrepareQuery(query); DbManager.BindValue("@parentCategoryId", category.ParentCategoryId); DbManager.BindValue("@name", category.Name); DbManager.ExecutePreparedInsertUpdateDelete(); return(DbManager.GetLastId()); }
public static int CreatePost(int topicId, string content, int userId, DateTime createTime) { const string query = "INSERT INTO posts (topic_id, content, user_id, create_time) VALUES (@topicId, @content, @userId, @createTime)"; DbManager.PrepareQuery(query); DbManager.BindValue("@topicId", topicId); DbManager.BindValue("@content", content); DbManager.BindValue("@userId", userId); DbManager.BindValue("@createTime", createTime); DbManager.ExecutePreparedInsertUpdateDelete(); return(DbManager.GetLastId()); }
public static int CreateTopic(Topic topic) { const string query = "INSERT INTO topics (parent_category_id, title, user_id, closed, sticky, create_time) VALUES (@parent_category_id, @title, @user_id, @closed, @sticky, @create_time)"; DbManager.PrepareQuery(query); DbManager.BindValue("@parent_category_id", topic.Category.Id); DbManager.BindValue("@title", topic.Title); DbManager.BindValue("@closed", topic.Closed); DbManager.BindValue("@sticky", topic.Sticky); DbManager.BindValue("@create_time", topic.CreateTime); DbManager.ExecutePreparedInsertUpdateDelete(); return(DbManager.GetLastId()); }
public static int CreateUser(string username, string password, int minUsernameLength, int maxUsernameLength) { if (GetUser(username) != null) { throw new UserAlreadyExitsException(); } if (username.Length < minUsernameLength) { throw new UsernameTooShortException(); } if (username.Length > maxUsernameLength) { throw new UsernameTooLongException(); } string salt = HashManager.GenerateSecureRandomToken(); string passwordHash = HashManager.HashSha256(password + salt); string query = "INSERT INTO users (username, password) VALUES " + "(@username, @password)"; DbManager.PrepareQuery(query); DbManager.BindValue("@username", username.ToLower()); DbManager.BindValue("@password", passwordHash); DbManager.ExecutePreparedInsertUpdateDelete(); int userId = DbManager.GetLastId(); query = "INSERT INTO user_salt (userID, salt) VALUES " + $"({userId}, '{salt}')"; DbManager.InsertUpdateDelete(query); return(userId); }