manager-service/ManagerService/Services/InstanceDatabaseService.cs
2025-03-19 08:57:29 +01:00

66 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Manager.Interfaces.Models;
using ManagerService.Data;
using Microsoft.Extensions.Configuration;
using MongoDB.Driver;
namespace Manager.Services
{
public class InstanceDatabaseService
{
private readonly IMongoCollection<OldInstance> _Instances;
public InstanceDatabaseService(IConfiguration config)
{
var client = new MongoClient(config.GetConnectionString("TabletDb"));
var database = client.GetDatabase("TabletDb");
_Instances = database.GetCollection<OldInstance>("Instances");
}
public List<OldInstance> GetAll()
{
return _Instances.Find(m => true).ToList();
}
public OldInstance GetByName(string name)
{
return _Instances.Find<OldInstance>(i => i.Name == name).FirstOrDefault();
}
public OldInstance GetById(string id)
{
return _Instances.Find<OldInstance>(i => i.Id == id).FirstOrDefault();
}
public OldInstance GetByPinCode(int pinCode)
{
return _Instances.Find<OldInstance>(c => c.PinCode == pinCode).FirstOrDefault();
}
public bool IsExist(string id)
{
return _Instances.Find<OldInstance>(i => i.Id == id).FirstOrDefault() != null ? true : false;
}
public OldInstance Create(OldInstance instance)
{
_Instances.InsertOne(instance);
return instance;
}
public OldInstance Update(string id, OldInstance instanceIn)
{
_Instances.ReplaceOne(instance => instance.Id == id, instanceIn);
return instanceIn;
}
public void Remove(string id)
{
_Instances.DeleteOne(instance => instance.Id == id);
}
}
}