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 _points; /// /// Load points from File /// /// private List LoadPoints() { try { #pragma warning disable CS8603 // Může jít o vrácený odkaz null. return JsonConvert.DeserializeObject>(File.ReadAllText("Points/SavedData.json")); #pragma warning restore CS8603 // Může jít o vrácený odkaz null. } catch { return new(); } } /// /// Save points to File /// private void SavePoints() { File.WriteAllText("Points/SavedData.json", JsonConvert.SerializeObject(_points)); } /// /// Get saved Points /// /// public List GetPoints() { return _points; } /// /// Delete Points /// public void DeletePoints() { _points = new(); SavePoints(); } /// /// Save data/status point /// 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 } } }