61 lines
1.8 KiB
C#
61 lines
1.8 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 ResourceDatabaseService
|
|
{
|
|
private readonly IMongoCollection<OldResource> _Resources;
|
|
|
|
public ResourceDatabaseService(IConfiguration config)
|
|
{
|
|
var client = new MongoClient(config.GetConnectionString("TabletDb"));
|
|
var database = client.GetDatabase("TabletDb");
|
|
_Resources = database.GetCollection<OldResource>("Resources");
|
|
}
|
|
public List<OldResource> GetAll(string instanceId)
|
|
{
|
|
return _Resources.Find(r => r.InstanceId == instanceId).ToList();
|
|
}
|
|
|
|
public List<OldResource> GetAllByType(string instanceId, List<ResourceType> types)
|
|
{
|
|
return _Resources.Find<OldResource>(r => r.InstanceId == instanceId && types.Contains(r.Type)).ToList();
|
|
}
|
|
|
|
public OldResource GetById(string id)
|
|
{
|
|
return _Resources.Find<OldResource>(r => r.Id == id).FirstOrDefault();
|
|
}
|
|
|
|
public bool IsExist(string id)
|
|
{
|
|
return _Resources.Find<OldResource>(r => r.Id == id).FirstOrDefault() != null ? true : false;
|
|
}
|
|
|
|
public OldResource Create(OldResource resource)
|
|
{
|
|
_Resources.InsertOne(resource);
|
|
return resource;
|
|
}
|
|
|
|
public OldResource Update(string id, OldResource resourceIn)
|
|
{
|
|
_Resources.ReplaceOne(r => r.Id == id, resourceIn);
|
|
return resourceIn;
|
|
}
|
|
|
|
public void Remove(string id)
|
|
{
|
|
_Resources.DeleteOne(r => r.Id == id);
|
|
}
|
|
|
|
}
|
|
}
|