コード例 #1
0
ファイル: GroupManager.cs プロジェクト: hnjm/HelperLibrary
        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());
        }
コード例 #2
0
ファイル: CategoryManager.cs プロジェクト: hnjm/HelperLibrary
        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());
        }
コード例 #3
0
ファイル: PostManager.cs プロジェクト: hnjm/HelperLibrary
        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());
        }
コード例 #4
0
ファイル: TopicManager.cs プロジェクト: hnjm/HelperLibrary
        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());
        }
コード例 #5
0
        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);
        }