61 lines
1.4 KiB
C#
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
|
|
} |