38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
|
|
using CaeKnowledge.Data;
|
|||
|
|
using LiteDB;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.ComponentModel;
|
|||
|
|
using System.IO;
|
|||
|
|
|
|||
|
|
namespace CaeKnowledge.View
|
|||
|
|
{
|
|||
|
|
internal class CuttingParameterConverter : StringConverter
|
|||
|
|
{
|
|||
|
|
public override bool GetStandardValuesSupported(ITypeDescriptorContext context) => true;
|
|||
|
|
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) => true;
|
|||
|
|
|
|||
|
|
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
|
|||
|
|
{
|
|||
|
|
var items = new List<string>();
|
|||
|
|
|
|||
|
|
var fullPath = CaeGlobals.Tools.GetLiteDatabase();
|
|||
|
|
|
|||
|
|
if (fullPath == null || !File.Exists(fullPath))
|
|||
|
|
{
|
|||
|
|
return new StandardValuesCollection(items);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
using (var db = new LiteDatabase(fullPath))
|
|||
|
|
{
|
|||
|
|
var col = db.GetCollection<CuttingParameter>("cutting_parameters");
|
|||
|
|
|
|||
|
|
if (col.Count() > 0)
|
|||
|
|
{
|
|||
|
|
items.AddRange(col.Query().OrderBy(x => x.Pid).Select(x => x.Pid).ToEnumerable());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return new StandardValuesCollection(items);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|