Files
schedtxt_api/Repositories/UserRepository.cs
T

61 lines
1.4 KiB
C#

using System;
using MongoDB.Bson;
using MongoDB.Driver;
using TextSender_API.Models;
namespace TextSender_API.Repositories;
public class UserRepository
{
#region Fields
private string _connectionString;
private string _databaseName;
private string _tableName;
private readonly IMongoCollection<User> _bookCollection;
#endregion
#region Constructors
public UserRepository(string connectionString)
{
this._connectionString = connectionString;
this._databaseName = "TextSender";
this._tableName = "Users";
var client = this.InitializeClient();
this._bookCollection = client.GetDatabase(this._databaseName).GetCollection<User>(this._tableName);
}
#endregion
#region Metods
public void CreateUser(User user)
{
this._bookCollection.InsertOne(user);
var i = 0;
}
public List<User> RetrieveAllUsers()
{
return this._bookCollection.Find(_ => true).ToList();
}
public void Update(User user)
{
var filter = Builders<User>.Filter.Eq(u => u.Id, user.Id);
this._bookCollection.ReplaceOne(filter, user);
}
public void Delete(User user)
{
var filter = Builders<User>.Filter.Eq(u => u.Id, user.Id);
this._bookCollection.DeleteOne(filter);
}
private MongoClient InitializeClient()
{
return new MongoClient(this._connectionString);
}
#endregion
}