50 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using MyCore.Models;
using Microsoft.Extensions.Configuration;
using MongoDB.Driver;
using MyCore.Models.MyControlPanel;
namespace MyCore.Services.MyControlPanel
{
public class AutomationService
{
private readonly IMongoCollection<Automation> _Automations;
public AutomationService(IConfiguration config)
{
var client = new MongoClient(config.GetConnectionString("MyCoreDb"));
var database = client.GetDatabase("MyCoreDb");
_Automations = database.GetCollection<Automation>("Automations");
}
public List<Automation> GetAutomations()
{
return _Automations.Find(d => true).ToList();
}
public Automation GetAutomationById(string id)
{
return _Automations.Find<Automation>(a => a.Id == id).FirstOrDefault();
}
public Automation CreateAutomation(Automation automation)
{
_Automations.InsertOne(automation);
return automation;
}
public Automation Update(string id, Automation automationIn)
{
_Automations.ReplaceOne(automation => automation.Id == id, automationIn);
return automationIn;
}
public void Remove(string id)
{
_Automations.DeleteOne(automation => automation.Id == id);
}
}
}