retroactiune/Retroactiune.Core/Services/FeedbacksService.cs

29 lines
973 B
C#
Raw Normal View History

using System.Threading.Tasks;
using Ardalis.GuardClauses;
using MongoDB.Driver;
using Retroactiune.Core.Entities;
using Retroactiune.Core.Interfaces;
namespace Retroactiune.Core.Services
{
public class FeedbacksService : IFeedbacksService
{
private readonly IMongoCollection<Feedback> _collection;
public FeedbacksService(IMongoClient client, IDatabaseSettings settings)
{
var database = client.GetDatabase(settings.DatabaseName);
_collection = database.GetCollection<Feedback>(settings.FeedbackCollectionName);
}
public async Task AddFeedbackAsync(Feedback feedback, FeedbackReceiver receiver)
{
// TODO: Unit test.
Guard.Against.Null(feedback, nameof(feedback));
Guard.Against.Null(receiver, nameof(receiver));
feedback.FeedbackReceiverId = receiver.Id;
await _collection.InsertOneAsync(feedback);
}
}
}