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 _Instances; public InstanceDatabaseService(IConfiguration config) { var client = new MongoClient(config.GetConnectionString("TabletDb")); var database = client.GetDatabase("TabletDb"); _Instances = database.GetCollection("Instances"); } public List GetAll() { return _Instances.Find(m => true).ToList(); } public OldInstance GetByName(string name) { return _Instances.Find(i => i.Name == name).FirstOrDefault(); } public OldInstance GetById(string id) { return _Instances.Find(i => i.Id == id).FirstOrDefault(); } public OldInstance GetByPinCode(int pinCode) { return _Instances.Find(c => c.PinCode == pinCode).FirstOrDefault(); } public bool IsExist(string id) { return _Instances.Find(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); } } }