|
@@ -1127,46 +1127,54 @@ public class Module
|
|
|
|
|
|
private void stagingSetoutGrid_OnParseComponentFile(string componentFileName, Guid setoutID)
|
|
|
{
|
|
|
- var entityName = typeof(StagingSetoutComponent).EntityName();
|
|
|
- var importers = new Client<Importer>()
|
|
|
- .Query(
|
|
|
- new Filter<Importer>(x => x.EntityName).IsEqualTo(entityName),
|
|
|
- new Columns<Importer>(x => x.ID));
|
|
|
- if(importers.Rows.Count == 0)
|
|
|
+ try
|
|
|
{
|
|
|
- var importer = new Importer
|
|
|
+ var entityName = typeof(StagingSetoutComponent).EntityName();
|
|
|
+ var importers = new Client<Importer>()
|
|
|
+ .Query(
|
|
|
+ new Filter<Importer>(x => x.EntityName).IsEqualTo(entityName),
|
|
|
+ new Columns<Importer>(x => x.ID));
|
|
|
+ if (importers.Rows.Count == 0)
|
|
|
{
|
|
|
- EntityName = entityName,
|
|
|
- FileName = componentFileName
|
|
|
- };
|
|
|
+ var importer = new Importer
|
|
|
+ {
|
|
|
+ EntityName = entityName,
|
|
|
+ FileName = componentFileName
|
|
|
+ };
|
|
|
|
|
|
- var form = new DynamicImportForm(importer);
|
|
|
- if (form.ShowDialog() == true)
|
|
|
- {
|
|
|
- new Client<Importer>().Save(importer, "");
|
|
|
+ var form = new DynamicImportForm(importer);
|
|
|
+ if (form.ShowDialog() == true)
|
|
|
+ {
|
|
|
+ new Client<Importer>().Save(importer, "");
|
|
|
|
|
|
- DoImport(importer, componentFileName, setoutID);
|
|
|
+ DoImport(importer, componentFileName, setoutID);
|
|
|
|
|
|
- return;
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- else if(importers.Rows.Count == 1)
|
|
|
- {
|
|
|
- var importer = new Client<Importer>().Load(new Filter<Importer>(x => x.ID).IsEqualTo(importers.Rows[0].Get<Importer, Guid>(x => x.ID))).First();
|
|
|
- DoImport(importer, componentFileName, setoutID);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var list = new PopupList(
|
|
|
- typeof(Importer),
|
|
|
- Guid.Empty,
|
|
|
- Array.Empty<string>());
|
|
|
- list.OnDefineFilter += t => new Filter<Importer>(x => x.EntityName).IsEqualTo(entityName);
|
|
|
- if(list.ShowDialog() == true)
|
|
|
+ else if (importers.Rows.Count == 1)
|
|
|
{
|
|
|
- var importer = new Client<Importer>().Load(new Filter<Importer>(x => x.ID).IsEqualTo(list.ID)).First();
|
|
|
+ var importer = new Client<Importer>().Load(new Filter<Importer>(x => x.ID).IsEqualTo(importers.Rows[0].Get<Importer, Guid>(x => x.ID))).First();
|
|
|
DoImport(importer, componentFileName, setoutID);
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var list = new PopupList(
|
|
|
+ typeof(Importer),
|
|
|
+ Guid.Empty,
|
|
|
+ Array.Empty<string>());
|
|
|
+ list.OnDefineFilter += t => new Filter<Importer>(x => x.EntityName).IsEqualTo(entityName);
|
|
|
+ if (list.ShowDialog() == true)
|
|
|
+ {
|
|
|
+ var importer = new Client<Importer>().Load(new Filter<Importer>(x => x.ID).IsEqualTo(list.ID)).First();
|
|
|
+ DoImport(importer, componentFileName, setoutID);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch(Exception e)
|
|
|
+ {
|
|
|
+ Logger.Send(LogType.Error, "", $"Error in file {componentFileName}: {CoreUtils.FormatException(e)}");
|
|
|
+ MessageBox.Show($"Error opening {componentFileName}: {e.Message}");
|
|
|
}
|
|
|
}
|
|
|
}
|