123 lines
2.9 KiB
C#
123 lines
2.9 KiB
C#
using System;
|
|
|
|
using MongoDB.Bson;
|
|
using MongoDB.Driver;
|
|
|
|
using TextSender_API.Models;
|
|
|
|
namespace TextSender_API.Repositories;
|
|
|
|
|
|
public class UsersRepository : BaseRepository
|
|
{
|
|
#region Fields
|
|
private readonly IMongoCollection<User> _bookCollection;
|
|
#endregion
|
|
|
|
|
|
#region Constructors
|
|
public UsersRepository(string connectionString)
|
|
{
|
|
this._connectionString = connectionString;
|
|
this._tableName = "users";
|
|
var client = this.InitializeClient();
|
|
this._bookCollection = client.GetDatabase(this._databaseName).GetCollection<User>(this._tableName);
|
|
}
|
|
#endregion
|
|
|
|
#region Metods
|
|
public Tuple<bool, User> Exists(User user)
|
|
{
|
|
var allUsers = this.RetrieveAllUsers();
|
|
var result = allUsers.FirstOrDefault(ea => ea.Username!.Equals(user.Username));
|
|
|
|
if (result != null)
|
|
{
|
|
return new Tuple<bool, User>(true, result!);
|
|
}
|
|
else
|
|
{
|
|
return new Tuple<bool, User>(false, new User());
|
|
}
|
|
}
|
|
public void CreateUser(User user)
|
|
{
|
|
this._bookCollection.InsertOne(user);
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
|
|
public class SaltRepository : BaseRepository
|
|
{
|
|
#region Fields
|
|
private readonly IMongoCollection<Salt> _bookCollection;
|
|
#endregion
|
|
|
|
|
|
#region Constructors
|
|
public SaltRepository(string connectionString)
|
|
{
|
|
this._connectionString = connectionString;
|
|
this._tableName = "salt";
|
|
var client = this.InitializeClient();
|
|
this._bookCollection = client.GetDatabase(this._databaseName).GetCollection<Salt>(this._tableName);
|
|
}
|
|
#endregion
|
|
|
|
#region Metods
|
|
public void Create(Salt salt)
|
|
{
|
|
this._bookCollection.InsertOne(salt);
|
|
}
|
|
|
|
public List<Salt> RetrieveAll()
|
|
{
|
|
return this._bookCollection.Find(_ => true).ToList();
|
|
}
|
|
|
|
public Salt Retrieve(string userId)
|
|
{
|
|
return this._bookCollection.Find(s => s.UserId.Equals(userId)).FirstOrDefault();
|
|
}
|
|
|
|
public void Update(Salt salt)
|
|
{
|
|
var filter = Builders<Salt>.Filter.Eq(u => u.Id, salt.Id);
|
|
this._bookCollection.ReplaceOne(filter, salt);
|
|
}
|
|
|
|
public void Delete(Salt salt)
|
|
{
|
|
var filter = Builders<Salt>.Filter.Eq(u => u.Id, salt.Id);
|
|
this._bookCollection.DeleteOne(filter);
|
|
}
|
|
|
|
private MongoClient InitializeClient()
|
|
{
|
|
return new MongoClient(this._connectionString);
|
|
}
|
|
#endregion
|
|
} |