Baconography.NeutralServices.KitaroDB.Subreddits.GetSubreddit C# (CSharp) Method

GetSubreddit() public method

public GetSubreddit ( string id = null, string name = null ) : Task
id string
name string
return Task
        public async Task<Thing> GetSubreddit(string id = null, string name = null)
        {
            try
            {
                byte[] keyspace = null;
                DBKey targetKey = null;
                if (id != null)
                {
                    keyspace = GenerateIdKeyspace(id);
                    targetKey = _subredditsDB.GetKeys()[1];
                }
                else if (name != null)
                {
                    keyspace = GenerateNameKeyspace(name);
                    targetKey = _subredditsDB.GetKeys()[0];
                }
                else
                    throw new ArgumentNullException("id/name");

                using (var subredditCursor = await _subredditsDB.SeekAsync(targetKey, keyspace, DBReadFlags.NoLock))
                {
                    if (subredditCursor != null)
                    {
                        var currentRecord = subredditCursor.Get();
                        var decodedListing = Encoding.UTF8.GetString(currentRecord, SubredditKeySpaceSize, currentRecord.Length - SubredditKeySpaceSize);
                        var deserializedComment = JsonConvert.DeserializeObject<Thing>(decodedListing);
                        return deserializedComment;

                    }
                    else
                        return null;
                }
            }
            catch
            {
                return null;
            }
        }

Usage Example

Example #1
0
        private async Task <string> TranslateSubredditNameToId(Subreddits subreddits, string subredditName)
        {
            var subreddit = await subreddits.GetSubreddit(null, subredditName);

            if (subreddit != null)
            {
                return(((Subreddit)subreddit.Data).Name);
            }
            else
            {
                return(null);
            }
        }
All Usage Examples Of Baconography.NeutralServices.KitaroDB.Subreddits::GetSubreddit