This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,160 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using System.ComponentModel;
using System.Globalization;
namespace DatabaseImport
{
public class FilterClass : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected bool SetProperty<T>(ref T storage, T value, string propertyName = null)
{
if (Equals(storage, value)) return false;
storage = value;
OnPropertyChanged(propertyName);
return true;
}
protected void OnPropertyChanged(string propertyName = null)
{
var eventHandler = PropertyChanged;
if (eventHandler != null)
{
eventHandler(this, new PropertyChangedEventArgs(propertyName));
}
}
public enum FilterClassType
{
None = 0,
AdHoc = -1,
CFC10 = 17, // 17 Hz
CFC60 = 100, // 100 Hz
CFC180 = 300, // 300 Hz
CFC600 = 1000, // 1000 Hz
CFC1000 = 1650 // 1650 Hz
}
public FilterClassType FClass { get; set; }
public double Frequency { get; set; }
public FilterClass(FilterClassType fc)
{
FClass = fc;
switch (fc)
{
case FilterClassType.None:
Frequency = 0;
break;
case FilterClassType.CFC10:
Frequency = (double)FilterClassType.CFC10;
break;
case FilterClassType.CFC60:
Frequency = (double)FilterClassType.CFC60;
break;
case FilterClassType.CFC180:
Frequency = (double)FilterClassType.CFC180;
break;
case FilterClassType.CFC600:
Frequency = (double)FilterClassType.CFC600;
break;
case FilterClassType.CFC1000:
Frequency = (double)FilterClassType.CFC1000;
break;
default:
throw new Exception("FilterClass: unknown class");
}
}
public override string ToString()
{
switch (FClass)
{
case FilterClassType.None:
return "None";
case FilterClassType.CFC10:
return string.Format("{0} (CFC10)", (int)FilterClassType.CFC10);
case FilterClassType.CFC60:
return string.Format("{0} (CFC60)", (int)FilterClassType.CFC60);
case FilterClassType.CFC180:
return string.Format("{0} (CFC180)", (int)FilterClassType.CFC180);
case FilterClassType.CFC600:
return string.Format("{0} (CFC600)", (int)FilterClassType.CFC600);
case FilterClassType.CFC1000:
return string.Format("{0} (CFC1000)", (int)FilterClassType.CFC1000);
case FilterClassType.AdHoc:
return ((int)Frequency).ToString();
}
throw new Exception("FilterClass.ToString: Invalid class=" + FClass.ToString());
}
public FilterClass(string fclass)
{
int fc;
if (int.TryParse(fclass, NumberStyles.Any, CultureInfo.InvariantCulture, out fc))
{
switch (fc)
{
case 17:
FClass = FilterClassType.CFC10;
Frequency = (double)FClass;
return;
case 100:
FClass = FilterClassType.CFC60;
Frequency = (double)FClass;
return;
case 300:
FClass = FilterClassType.CFC180;
Frequency = (double)FClass;
return;
case 1000:
FClass = FilterClassType.CFC600;
Frequency = (double)FClass;
return;
case 1650:
FClass = FilterClassType.CFC1000;
Frequency = (double)FClass;
return;
}
}
if (string.IsNullOrEmpty(fclass) || fclass == "None")
{
FClass = FilterClassType.None;
}
else if (fclass.Contains("CFC1000"))
{
FClass = FilterClassType.CFC1000;
Frequency = (double)FilterClassType.CFC1000;
}
else if (fclass.Contains("CFC10"))
{
FClass = FilterClassType.CFC10;
Frequency = (double)FilterClassType.CFC10;
}
else if (fclass.Contains("CFC600"))
{
FClass = FilterClassType.CFC600;
Frequency = (double)FilterClassType.CFC600;
}
else if (fclass.Contains("CFC60"))
{
FClass = FilterClassType.CFC60;
Frequency = (double)FilterClassType.CFC60;
}
else if (fclass.Contains("CFC180"))
{
FClass = FilterClassType.CFC180;
Frequency = (double)FilterClassType.CFC180;
}
else
{
FClass = FilterClassType.AdHoc;
Frequency = Convert.ToDouble(fclass);
}
}
}
}

View File

@@ -0,0 +1,62 @@
using System;
using System.Windows;
namespace DatabaseImport
{
public class TestObjectTemplateCollection //: BasePropertyChanged
{
private static volatile TestObjectTemplateCollection _testObjectCollection;
public static TestObjectTemplateCollection TemplateCollection
{
get
{
if (null == _testObjectCollection)
{
_testObjectCollection = new TestObjectTemplateCollection();
}
return _testObjectCollection;
}
}
public void ReloadAll(bool loadSubComponents)
{
//UnloadAll();
//if (loadSubComponents)
//{
// (App.Current as App).IsoDb.RefreshAllData();
// DataModel.CustomChannelList.List.ReloadAll();
//}
//Reload();
}
private static volatile TestObjectTemplate _sysBuiltTestObjectTemplate;
public TestObjectTemplate SysBuiltTestObjectTemplate => _sysBuiltTestObjectTemplate;
public TestObjectTemplate GetTemplate(string templateId)
{
var db = ((App)Application.Current).IsoDb;
var isoTemplate = ISO.TestObjectTemplate.GetTemplate(ref db, templateId);
return null != isoTemplate ? new TestObjectTemplate(isoTemplate, ref db) : null;
}
/// <summary>
/// deletes all test objects
/// originally created so TDM imports could clear all tables
/// </summary>
public static void DeleteAll()
{
//if (TemplateCollection._bUnloaded) { Reload(); }
_testObjectCollection.DeleteAllTemplates();
_testObjectCollection = new TestObjectTemplateCollection();
TemplateCollection.DeleteAllTemplates();
//TemplateCollection._templates.Clear();
}
private void DeleteAllTemplates()
{
try
{
//if (_bUnloaded) { Reload(); }
ISO.TestObjectTemplate.DeleteAllTemplates();
}
catch (Exception) { /*APILogger.Log("failed to delete all templates"); */}
}
}
}