Qfrom, Qto, Volume, TestTime : float -> double, config DB change.

This commit is contained in:
Milan Hanajik
2022-07-06 15:51:48 +02:00
parent 01523d3765
commit 4d0441d9a2
16 changed files with 97 additions and 93 deletions
+25 -24
View File
@@ -922,15 +922,15 @@ namespace TBF.UI.Procedures
test.Qtg = (float)Units.ConvertFrom(test.FlowUnit, dtmp);
#endif
if (test.QfromTextChngd && Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.Qfrom].Text, out dtmp))
test.Qfrom = (float)Units.ConvertFrom(test.FlowUnit, dtmp);
test.Qfrom = Units.ConvertFrom(test.FlowUnit, dtmp);
if (test.QtoTextChngd && Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.Qto].Text, out dtmp))
test.Qto = (float)Units.ConvertFrom(test.FlowUnit, dtmp);
test.Qto = Units.ConvertFrom(test.FlowUnit, dtmp);
if (test.VolumeTextChngd && Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.Volume].Text, out dtmp))
test.Volume = (float)Units.ConvertFrom(test.VolumeUnit, dtmp);
test.Volume = Units.ConvertFrom(test.VolumeUnit, dtmp);
if (Utils.TryParseUFloat(lvi.SubItems[(int)MtrlgyClmn.TestTime].Text, out tmp)) test.TestTime = tmp;
if (Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.TestTime].Text, out dtmp)) test.TestTime = dtmp;
if (Utils.TryParseSFloat(lvi.SubItems[(int)MtrlgyClmn.ErrLimLo].Text, out tmp)) test.ErrLimLo = tmp;
if (Utils.TryParseSFloat(lvi.SubItems[(int)MtrlgyClmn.ErrLimHi].Text, out tmp)) test.ErrLimHi = tmp;
@@ -1014,6 +1014,7 @@ namespace TBF.UI.Procedures
Unit newUnit;
int dummy;
float fdummy;
double ddummy;
switch (column)
{
@@ -1071,67 +1072,67 @@ namespace TBF.UI.Procedures
if (e.DisplayText == e.Item.SubItems[e.SubItem].Text) return; /// Nothing changed
float qFrom = 1.0f;
float qTo = 1.0f;
float volume = 0.0f;
float testTime = 0.0f;
double qFrom = 1.0;
double qTo = 1.0;
double volume = 0.0;
double testTime = 0.0;
bool calculateVolume = false;
bool calculateTime = false;
bool allOk = true;
if (column == MtrlgyClmn.Qfrom && Utils.TryParseUFloat(e.DisplayText, out qFrom))
if (column == MtrlgyClmn.Qfrom && Utils.TryParseUDouble(e.DisplayText, out qFrom))
{
allOk &= Utils.TryParseUFloat(e.Item.SubItems[(int)MtrlgyClmn.Qto].Text, out qTo);
allOk &= Utils.TryParseUFloat(e.Item.SubItems[(int)MtrlgyClmn.Volume].Text, out volume);
allOk &= Utils.TryParseUDouble(e.Item.SubItems[(int)MtrlgyClmn.Qto].Text, out qTo);
allOk &= Utils.TryParseUDouble(e.Item.SubItems[(int)MtrlgyClmn.Volume].Text, out volume);
if (allOk)
{
test.QfromTextChngd = true;
calculateTime = true;
}
}
else if (column == MtrlgyClmn.Qto && Utils.TryParseUFloat(e.DisplayText, out qTo))
else if (column == MtrlgyClmn.Qto && Utils.TryParseUDouble(e.DisplayText, out qTo))
{
allOk &= Utils.TryParseUFloat(e.Item.SubItems[(int)MtrlgyClmn.Qfrom].Text, out qFrom);
allOk &= Utils.TryParseUFloat(e.Item.SubItems[(int)MtrlgyClmn.Volume].Text, out volume);
allOk &= Utils.TryParseUDouble(e.Item.SubItems[(int)MtrlgyClmn.Qfrom].Text, out qFrom);
allOk &= Utils.TryParseUDouble(e.Item.SubItems[(int)MtrlgyClmn.Volume].Text, out volume);
if (allOk)
{
test.QtoTextChngd = true;
calculateTime = true;
}
}
else if (column == MtrlgyClmn.Volume && Utils.TryParseUFloat(e.DisplayText, out volume))
else if (column == MtrlgyClmn.Volume && Utils.TryParseUDouble(e.DisplayText, out volume))
{
allOk &= Utils.TryParseUFloat(e.Item.SubItems[(int)MtrlgyClmn.Qfrom].Text, out qFrom);
allOk &= Utils.TryParseUFloat(e.Item.SubItems[(int)MtrlgyClmn.Qto].Text, out qTo);
allOk &= Utils.TryParseUDouble(e.Item.SubItems[(int)MtrlgyClmn.Qfrom].Text, out qFrom);
allOk &= Utils.TryParseUDouble(e.Item.SubItems[(int)MtrlgyClmn.Qto].Text, out qTo);
if (allOk)
{
test.VolumeTextChngd = true;
calculateTime = true;
}
}
else if (column == MtrlgyClmn.TestTime && Utils.TryParseUFloat(e.DisplayText, out testTime))
else if (column == MtrlgyClmn.TestTime && Utils.TryParseUDouble(e.DisplayText, out testTime))
{
allOk &= Utils.TryParseUFloat(e.Item.SubItems[(int)MtrlgyClmn.Qfrom].Text, out qFrom);
allOk &= Utils.TryParseUFloat(e.Item.SubItems[(int)MtrlgyClmn.Qto].Text, out qTo);
allOk &= Utils.TryParseUDouble(e.Item.SubItems[(int)MtrlgyClmn.Qfrom].Text, out qFrom);
allOk &= Utils.TryParseUDouble(e.Item.SubItems[(int)MtrlgyClmn.Qto].Text, out qTo);
if (allOk)
{
calculateVolume = true;
}
}
float qAveLps = Units.ConvertFrom(test.FlowUnit, qFrom + qTo) / 7.2f;
double qAveLps = Units.ConvertFrom(test.FlowUnit, qFrom + qTo) / 7.2;
if (calculateTime)
{
float volumeLtr = Units.ConvertFrom(test.VolumeUnit, volume);
double volumeLtr = Units.ConvertFrom(test.VolumeUnit, volume);
testTime = volumeLtr / qAveLps;
e.Item.SubItems[(int)MtrlgyClmn.TestTime].Text = testTime.ToString();
return;
}
else if (calculateVolume)
{
var volumeLtr = testTime * qAveLps;
double volumeLtr = testTime * qAveLps;
e.Item.SubItems[(int)MtrlgyClmn.Volume].Text = Units.ConvertTo(test.VolumeUnit, volumeLtr).ToString();
test.VolumeTextChngd = true;
return;
@@ -2492,7 +2493,7 @@ namespace TBF.UI.Procedures
string selector = flowDlg.Selector;
/// Depending on the chosen Q select the paths
float Qaver = (test.Qfrom + test.Qto) / 2.0f;
double Qaver = (test.Qfrom + test.Qto) / 2.0;
foreach (var path in feedingPaths)
{
if ((path.Qfrom <= Qaver) && (Qaver <= path.Qto) && (string.IsNullOrEmpty(selector) || path.Selector == selector))