manager-service/ManagerService/Services/UserDatabaseService.cs

65 lines
1.7 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("TabletDb"));
var database = client.GetDatabase("TabletDb");
_Users = database.GetCollection<User>("Users");
}
public List<User> GetAll()
{
return _Users.Find(u => true).ToList();
}
public User GetByEmail(string email)
{
return _Users.Find<User>(u => u.Email == email).FirstOrDefault();
}
public User GetById(string id)
{
return _Users.Find<User>(u => u.Id == id).FirstOrDefault();
}
public List<User> GetByInstanceId(string id)
{
return _Users.Find<User>(u => u.InstanceId == id).ToList();
}
public bool IsExist(string id)
{
return _Users.Find<User>(u => u.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);
}
}
}