Files
feanor/Server/Server.Base.cs
Martijn Dijkstra 6a44bd4fd2 Add project files.
2025-05-08 09:10:15 +02:00

80 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Maser.Feanor.Model;
using Maser.Feanor.Biz;
namespace Maser.Feanor.Server
{
public abstract class Server
{
public List<Result> Results { get { return _Results; } set { _Results = value; } }
protected List<Result> _Results;
public Chamber Chamber { get { return _chamber; } set { _chamber = value; } }
protected Chamber _chamber;
protected List<Sensor> _Sensors = new List<Sensor>(); // Sensors are retrieved from DB in constructor
protected List<Calibration> _Calibrations = new List<Calibration>(); // Calibrations are retrieved from DB in constructor
public abstract Boolean Read();
public abstract Boolean WriteDatetime(DateTime dt);
public abstract Boolean WriteInterval(Int32 Interval);
public abstract Boolean ModifySensor(Sensor sensor, Calibration calibration);
public abstract Boolean WriteSensors();
public Server(Chamber Chamber)
{
_chamber = Chamber;
// Get list of sensors from database and current calibration
try
{
SetSensorsAndCalibrations();
}
catch(Exception ex)
{
throw ex;
#warning What to do if the sensors or calibrations are not found while creating server?
}
}
public void SetSensorsAndCalibrations()
{
// Get list of sensors from database and current calibration
_Sensors = new Sensors().GetByChamber(_chamber.PK);
_Calibrations = new List<Calibration>();
foreach (Sensor sensor in _Sensors)
{
Calibration c = new Calibrations().GetLastCreatedBySensorPK(sensor.PK);
if (c != null)
_Calibrations.Add(c);
}
}
public String URL { get { return @"http://" + _chamber.Network + ":8080/"; } }
public abstract List<Sensor> StandardSensors(); // The sensor with lowest ID is exported as primary sensor
}
}