60 lines
1.5 KiB
C#
60 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Manager.Interfaces.Models;
|
|
using Microsoft.Extensions.Configuration;
|
|
using MongoDB.Driver;
|
|
|
|
namespace Manager.Services
|
|
{
|
|
public class UserDatabaseService
|
|
{
|
|
private readonly IMongoCollection<User> _Users;
|
|
|
|
public UserDatabaseService(IConfiguration config)
|
|
{
|
|
var client = new MongoClient(config.GetConnectionString("TabletDbOld"));
|
|
var database = client.GetDatabase("TabletDbOld");
|
|
_Users = database.GetCollection<User>("Users");
|
|
}
|
|
public List<User> GetAll()
|
|
{
|
|
return _Users.Find(m => true).ToList();
|
|
}
|
|
|
|
public User GetByEmail(string email)
|
|
{
|
|
return _Users.Find<User>(m => m.Email == email).FirstOrDefault();
|
|
}
|
|
|
|
public User GetById(string id)
|
|
{
|
|
return _Users.Find<User>(m => m.Id == id).FirstOrDefault();
|
|
}
|
|
|
|
public bool IsExist(string id)
|
|
{
|
|
return _Users.Find<User>(d => d.Id == id).FirstOrDefault() != null ? true : false;
|
|
}
|
|
|
|
public User Create(User user)
|
|
{
|
|
_Users.InsertOne(user);
|
|
return user;
|
|
}
|
|
|
|
public User Update(string id, User userIn)
|
|
{
|
|
_Users.ReplaceOne(user => user.Id == id, userIn);
|
|
return userIn;
|
|
}
|
|
|
|
public void Remove(string id)
|
|
{
|
|
_Users.DeleteOne(user => user.Id == id);
|
|
}
|
|
|
|
}
|
|
}
|