Files
event-sourcing-jambo/source/Jambo.Producer.Infrastructure/Queries/PostQueries.cs
Ivan Paulovich 3a414dbf79 refactoring
2017-12-18 15:00:24 -02:00

39 lines
1.1 KiB
C#

namespace Jambo.Producer.Infrastructure.Queries
{
using Jambo.Producer.Application.Queries;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Threading.Tasks;
public class PostQueries : IPostQueries
{
private readonly IMongoDatabase database;
public IMongoCollection<ExpandoObject> Posts
{
get
{
return database.GetCollection<ExpandoObject>("Posts");
}
}
public PostQueries(string connectionString, string databaseName)
{
MongoClient mongoClient = new MongoClient(connectionString);
this.database = mongoClient.GetDatabase(databaseName);
}
public async Task<ExpandoObject> GetPostAsync(Guid id)
{
return await Posts.Find(Builders<ExpandoObject>.Filter.Eq("_id", id)).SingleAsync();
}
public async Task<IEnumerable<ExpandoObject>> GetPostsAsync(Guid blogId)
{
return await Posts.Find(Builders<ExpandoObject>.Filter.Eq("blogId", blogId)).ToListAsync();
}
}
}