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(); } } } }