Files
2020-06-19 19:28:07 +02:00

68 lines
1.7 KiB
C#

using System;
using System.Linq;
using Thermo.Active.Model.DatabaseModels;
using static Thermo.Active.Config.ServerConfig;
namespace Thermo.Active.Database.Controllers
{
public class MachinesController : IDisposable
{
private DatabaseContext dbCtx;
public MachinesController()
{
// Initialize database context
dbCtx = new DatabaseContext();
}
public void Dispose()
{
// Clear database context
dbCtx.Dispose();
}
public MachineModel FindById(int id)
{
return dbCtx
.Machines
.Where(x => x.MachineId == id)
.SingleOrDefault();
}
public MachineModel FindMachineByUniqueId(string uniqueId)
{
return dbCtx
.Machines
.Where(x => x.UniqueId == uniqueId)
.FirstOrDefault();
}
public MachineModel Create(string uniqueId)
{
// Create database machine model
MachineModel machine = new MachineModel()
{
Model = NcConfig.NcName,
UniqueId = uniqueId
};
// Add to database
dbCtx.Machines.Add(machine);
// Commit changes
dbCtx.SaveChanges();
return machine;
}
public void UpdateMachineName(int id, string name)
{
// Find machine by id
MachineModel machine = FindById(id);
if (machine != null)
{
// Update machine name
machine.Model = name;
dbCtx.SaveChanges();
}
}
}
}