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 _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(this._tableName); } #endregion #region Metods public void CreateUser(User user) { this._bookCollection.InsertOne(user); var i = 0; } public List RetrieveAllUsers() { return this._bookCollection.Find(_ => true).ToList(); } public void Update(User user) { var filter = Builders.Filter.Eq(u => u.Id, user.Id); this._bookCollection.ReplaceOne(filter, user); } public void Delete(User user) { var filter = Builders.Filter.Eq(u => u.Id, user.Id); this._bookCollection.DeleteOne(filter); } private MongoClient InitializeClient() { return new MongoClient(this._connectionString); } #endregion }