96 lines
2.1 KiB
C#
96 lines
2.1 KiB
C#
using API_SequentMicrosystems.Models;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace API_SequentMicrosystems.Services
|
|
{
|
|
public class PointsService
|
|
{
|
|
|
|
|
|
private RTDDAService _RTDDAService;
|
|
|
|
public PointsService(RTDDAService _RTDDAS)
|
|
{
|
|
if (!Directory.Exists("Points"))
|
|
Directory.CreateDirectory("Points");
|
|
|
|
_RTDDAService = _RTDDAS;
|
|
|
|
_points = LoadPoints();
|
|
}
|
|
|
|
private List<PointsModel> _points;
|
|
|
|
/// <summary>
|
|
/// Load points from File
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private List<PointsModel> LoadPoints()
|
|
{
|
|
try
|
|
{
|
|
#pragma warning disable CS8603 // Může jít o vrácený odkaz null.
|
|
return JsonConvert.DeserializeObject<List<PointsModel>>(File.ReadAllText("Points/SavedData.json"));
|
|
#pragma warning restore CS8603 // Může jít o vrácený odkaz null.
|
|
}
|
|
catch
|
|
{
|
|
return new();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Save points to File
|
|
/// </summary>
|
|
private void SavePoints()
|
|
{
|
|
File.WriteAllText("Points/SavedData.json", JsonConvert.SerializeObject(_points));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Get saved Points
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<PointsModel> GetPoints()
|
|
{
|
|
return _points;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Delete Points
|
|
/// </summary>
|
|
public void DeletePoints()
|
|
{
|
|
_points = new();
|
|
SavePoints();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Save data/status point
|
|
/// </summary>
|
|
public void SavePoint()
|
|
{
|
|
PointsModel pm = new PointsModel(); //initialize point object
|
|
pm.Time = DateTime.Now; //set time of point created
|
|
pm.RTDDA = _RTDDAService.ReadAllCard(); //save RTD data to point
|
|
|
|
_points.Add(pm); //add point to list
|
|
SavePoints(); //Save updated points
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|