mirror of
https://github.com/jwetzell/qController.git
synced 2026-07-26 10:38:50 +00:00
71 lines
2.1 KiB
C#
71 lines
2.1 KiB
C#
using Serilog;
|
|
using System.Collections.ObjectModel;
|
|
using Acr.Settings;
|
|
using qController.QItems;
|
|
|
|
namespace qController
|
|
{
|
|
public class QStorage
|
|
{
|
|
public static ObservableCollection<QInstance> qInstances;
|
|
static QStorage(){
|
|
|
|
qInstances = (ObservableCollection<QInstance>)CrossSettings.Current.GetValue(new ObservableCollection<QInstance>().GetType(), "qInstances", null);
|
|
|
|
if (qInstances == null)
|
|
{
|
|
Log.Debug("QSTORAGE - No qInstance exists creating one");
|
|
qInstances = new ObservableCollection<QInstance>();
|
|
updateStorage();
|
|
}
|
|
}
|
|
|
|
public static bool AddInstance(string name, string address){
|
|
return AddInstance(new QInstance(name, address));
|
|
}
|
|
|
|
public static bool AddInstance(QInstance q){
|
|
if(!Contains(q.name, q.address)){
|
|
qInstances.Add(q);
|
|
updateStorage();
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static void RemoveInstance(string name, string address){
|
|
foreach (var item in qInstances)
|
|
{
|
|
if(item.address == address && item.name == name){
|
|
RemoveInstance(item);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
public static void RemoveInstance(QInstance q){
|
|
qInstances.Remove(q);
|
|
updateStorage();
|
|
}
|
|
|
|
private static void updateStorage(){
|
|
CrossSettings.Current.SetValue("qInstances", qInstances);
|
|
}
|
|
|
|
public static bool Contains(string name, string address){
|
|
foreach (var item in qInstances)
|
|
{
|
|
Log.Information("Item name: " + item.name + " Found Name: " + name);
|
|
if (item.address == address)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
public bool IsEmpty(){
|
|
return qInstances.Count == 0;
|
|
}
|
|
}
|
|
}
|