コード例 #1
0
        public async Task <User> GetUserByEmail(string email)
        {
            using var conn = new NpgsqlConnection(_connectionStrings.Postgres);
            conn.Open();
            using var cmd = new NpgsqlCommand
                  {
                      Connection  = conn,
                      CommandText =
                          @"select id, avatar_path, username, email, password_hash, password_salt, first_name, last_name, description from users where email = @p_email"
                  };
            cmd.Parameters.AddWithValue("p_email", email);
            var reader = await cmd.ExecuteReaderAsync();

            var next = await reader.ReadAsync();

            return(next ? DataReaderMappers.MapToUser(reader) : null);
        }
コード例 #2
0
        private async Task <Story> GetStoryById(Guid id)
        {
            using var conn = new NpgsqlConnection(_connectionStrings.Postgres);
            conn.Open();
            using var cmd = new NpgsqlCommand
                  {
                      Connection  = conn,
                      CommandText =
                          @"select id, user_id, image_path, image_size, date_created from stories where id = @p_id"
                  };
            cmd.Parameters.AddWithValue("p_id", id);
            var reader = await cmd.ExecuteReaderAsync();

            var next = await reader.ReadAsync();

            return(next ? DataReaderMappers.MapToStory(reader) : null);
        }
コード例 #3
0
        private async Task <Comment> GetCommentById(Guid id)
        {
            using var conn = new NpgsqlConnection(_connectionStrings.Postgres);
            conn.Open();
            using var cmd = new NpgsqlCommand
                  {
                      Connection  = conn,
                      CommandText =
                          @"select id, user_id, photo_id, text, date_created from comments where id = @p_id"
                  };
            cmd.Parameters.AddWithValue("p_id", id);
            var reader = await cmd.ExecuteReaderAsync();

            var next = await reader.ReadAsync();

            return(next ? DataReaderMappers.MapToComment(reader) : null);
        }
コード例 #4
0
        private async Task <Photo> GetPhotoById(Guid id)
        {
            using var conn = new NpgsqlConnection(_connectionStrings.Postgres);
            conn.Open();
            using var cmd = new NpgsqlCommand
                  {
                      Connection  = conn,
                      CommandText =
                          @"select id, user_id, description, geo, image_path, image_size, date_created from photos where id = @p_id and deleted = false"
                  };
            cmd.Parameters.AddWithValue("p_id", id);
            var reader = await cmd.ExecuteReaderAsync();

            var next = await reader.ReadAsync();

            return(next ? DataReaderMappers.MapToPhoto(reader) : null);
        }