Files

125 lines
5.2 KiB
C#

using AvaloniaApplication1.DataBase;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
namespace DaireApplication.DataBase
{
public class MachineTable
{
public int Id { get; set; }
public float TankMaxHeat { get; set; } = 50;
public float PumbMaxHeat { get; set; } = 50;
public int PumbDelay { get; set; } = 60;
public int MixerDelay { get; set; } = 60;
public int HeatingDelay { get; set; } = 60;
public int CoolingDelay { get; set; } = 60;
public int PouringDelay { get; set; } = 60;
public float PumbMinHeat { get; set; } = -10;
public float AbsMaxHeat { get; set; } = 65;
public float AbsMinHeat { get; set; } = -14;
public float PreHeatingTemp { get; set; } = 5;
public float setTemp1 { get; set; } =0;
public float setTemp2 { get; set; } =-10;
public float setTemp3 { get; set; } =+5;
public float setTemp4 { get; set; } =+0;
public MachineTable ReadMachine()
{
string filePath = DataPathManager.GetDataFilePath("Machine.csv");
MachineTable machine = new MachineTable();
if (File.Exists(filePath))
{
string[] lines = File.ReadAllLines(filePath);
foreach (string line in lines)
{
string[] columns = line.Split(',');
if (columns[0] == "1")
{
machine.Id = int.Parse(columns[0]);
machine.TankMaxHeat = float.Parse(columns[1]);
machine.PumbMaxHeat = float.Parse(columns[2]);
machine.PumbDelay = int.Parse(columns[3]);
machine.MixerDelay = int.Parse(columns[4]);
machine.HeatingDelay = int.Parse(columns[5]);
machine.CoolingDelay = int.Parse(columns[6]);
machine.PouringDelay = int.Parse(columns[7]);
machine.PumbMinHeat = int.Parse(columns[8]);
machine.AbsMaxHeat = int.Parse(columns[9]);
machine.AbsMinHeat = int.Parse(columns[10]);
machine.PreHeatingTemp = float.Parse(columns[11]);
machine.setTemp1 = float.Parse(columns[12]);
machine.setTemp2 = float.Parse(columns[13]);
machine.setTemp3 = float.Parse(columns[14]);
machine.setTemp4 = float.Parse(columns[15]);
return machine;
}
}
return null;
}
else
{
return null;
}
}
public bool UpdateMachine(MachineTable updatedMachine)
{
string filePath = DataPathManager.GetDataFilePath("Machine.csv");
if (!File.Exists(filePath))
return false;
string[] lines = File.ReadAllLines(filePath);
bool machineFound = false;
for (int i = 1; i < lines.Length; i++)
{
string[] columns = lines[i].Split(',');
if (columns.Length < 8)
continue;
if (int.Parse(columns[0]) == updatedMachine.Id)
{
columns[1] = updatedMachine.TankMaxHeat.ToString(CultureInfo.InvariantCulture);
columns[2] = updatedMachine.PumbMaxHeat.ToString(CultureInfo.InvariantCulture);
columns[3] = updatedMachine.PumbDelay.ToString();
columns[4] = updatedMachine.MixerDelay.ToString();
columns[5] = updatedMachine.HeatingDelay.ToString();
columns[6] = updatedMachine.CoolingDelay.ToString();
columns[7] = updatedMachine.PouringDelay.ToString();
columns[8] = updatedMachine.PumbMinHeat.ToString(CultureInfo.InvariantCulture);
columns[9] = updatedMachine.AbsMaxHeat.ToString(CultureInfo.InvariantCulture);
columns[10] = updatedMachine.AbsMinHeat.ToString(CultureInfo.InvariantCulture);
columns[11] = updatedMachine.PreHeatingTemp.ToString(CultureInfo.InvariantCulture);
columns[12] = updatedMachine.setTemp1.ToString(CultureInfo.InvariantCulture);
columns[13] = updatedMachine.setTemp2.ToString(CultureInfo.InvariantCulture);
columns[14] = updatedMachine.setTemp3.ToString(CultureInfo.InvariantCulture);
columns[15] = updatedMachine.setTemp4.ToString(CultureInfo.InvariantCulture);
lines[i] = string.Join(",", columns);
machineFound = true;
break;
}
}
if (machineFound)
{
File.WriteAllLines(filePath, lines);
return true;
}
return false;
}
}
}