80 lines
2.2 KiB
C#
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
|
|
|
|
|
|
}
|
|
}
|