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 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 Instance GetByName(string name) { return _Instances.Find(i => i.Name == name).FirstOrDefault(); } public Instance GetById(string id) { return _Instances.Find(i => i.Id == id).FirstOrDefault(); } public Instance 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 Instance Create(Instance instance) { _Instances.InsertOne(instance); return instance; } public Instance Update(string id, Instance instanceIn) { _Instances.ReplaceOne(instance => instance.Id == id, instanceIn); return instanceIn; } public void Remove(string id) { _Instances.DeleteOne(instance => instance.Id == id); } } }