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 ResourceDataDatabaseService { private readonly IMongoCollection _ResourcesData; public ResourceDataDatabaseService(IConfiguration config) { var client = new MongoClient(config.GetConnectionString("TabletDb")); var database = client.GetDatabase("TabletDb"); _ResourcesData = database.GetCollection("ResourcesData"); } public List GetAll(string instanceId) { return _ResourcesData.Find(r => r.InstanceId == instanceId).ToList(); } public ResourceData GetById(string id) { return _ResourcesData.Find(r => r.Id == id).FirstOrDefault(); } public ResourceData GetByResourceId(string id) { return _ResourcesData.Find(r => r.ResourceId == id).FirstOrDefault(); } public bool IsExist(string id) { return _ResourcesData.Find(r => r.Id == id).FirstOrDefault() != null ? true : false; } public bool IsExistResourceId(string id) { return _ResourcesData.Find(r => r.ResourceId == id).FirstOrDefault() != null ? true : false; } public ResourceData Create(ResourceData resource) { _ResourcesData.InsertOne(resource); return resource; } public ResourceData Update(string id, ResourceData resourceIn) { _ResourcesData.ReplaceOne(r => r.Id == id, resourceIn); return resourceIn; } public void Remove(string id) { _ResourcesData.DeleteOne(r => r.Id == id); } } }