Excel import angeschlossen und einmal nur mit ATA getestet
This commit is contained in:
parent
286953e7d8
commit
4d23599c13
@ -11,9 +11,12 @@ using System.Timers;
|
|||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using ENI2.Import;
|
||||||
|
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using Microsoft.Win32;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
{
|
{
|
||||||
@ -719,12 +722,31 @@ namespace ENI2.DetailViewControls
|
|||||||
if((sicd.ShowDialog() ?? false) && (sicd.SelectedClasses.Count > 0))
|
if((sicd.ShowDialog() ?? false) && (sicd.SelectedClasses.Count > 0))
|
||||||
{
|
{
|
||||||
// get here if user selected some classes
|
// get here if user selected some classes
|
||||||
|
OpenFileDialog ofd = new OpenFileDialog
|
||||||
|
{
|
||||||
|
Filter = "Excel Files|*.xls;*.xlsx"
|
||||||
|
};
|
||||||
|
if (ofd.ShowDialog() ?? false)
|
||||||
|
{
|
||||||
|
Util.UIHelper.SetBusyState();
|
||||||
|
|
||||||
|
ExcelManager em = new ExcelManager();
|
||||||
// start importer
|
// start importer
|
||||||
|
if(em.Import(ofd.FileName, this.Core, sicd.SelectedClasses, out string importResultText))
|
||||||
|
{
|
||||||
|
// reload this core
|
||||||
|
this.OnRequestReload(this.Core.Id.Value);
|
||||||
|
|
||||||
// validate all selected import classes (Finger with "selection")
|
// validate all selected import classes (Finger with "selection")
|
||||||
|
this.OnRequestValidate();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show(importResultText, "Import failed", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -23,14 +23,17 @@ namespace ENI2.Import
|
|||||||
|
|
||||||
internal static bool ProcessSheet(ExcelReader reader, out string readMessage, MessageCore messageCore, List<Message.NotificationClass> notificationClasses)
|
internal static bool ProcessSheet(ExcelReader reader, out string readMessage, MessageCore messageCore, List<Message.NotificationClass> notificationClasses)
|
||||||
{
|
{
|
||||||
messageCore = ExcelUtil.LookupMessageCore(reader, out readMessage);
|
bool result = true;
|
||||||
|
// messageCore = ExcelUtil.LookupMessageCore(reader, out readMessage);
|
||||||
if (messageCore == null) return false; // cannot work with this sheet or create one
|
|
||||||
|
|
||||||
|
// if (messageCore == null) return false; // cannot work with this sheet or create one
|
||||||
|
readMessage = "";
|
||||||
// load messages if already present
|
// load messages if already present
|
||||||
List<Message> messages = DBManager.Instance.GetMessagesForCore(messageCore, DBManager.MessageLoad.ALL);
|
List<Message> messages = DBManager.Instance.GetMessagesForCore(messageCore, DBManager.MessageLoad.ALL);
|
||||||
|
|
||||||
// parse selected classes
|
// parse selected classes
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
foreach (Message message in messages)
|
foreach (Message message in messages)
|
||||||
{
|
{
|
||||||
@ -95,9 +98,15 @@ namespace ENI2.Import
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DBManager.Instance.Save(messageCore);
|
DBManager.Instance.Save(messageCore); // muss das eigentlich sein?
|
||||||
|
}
|
||||||
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
readMessage = ex.Message;
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static void SaveMessage(Message message)
|
internal static void SaveMessage(Message message)
|
||||||
@ -128,7 +137,7 @@ namespace ENI2.Import
|
|||||||
|
|
||||||
if(!ata.ATAPortOfCall.HasValue)
|
if(!ata.ATAPortOfCall.HasValue)
|
||||||
{
|
{
|
||||||
reader.ReadDateTime("ATA.ATADatePortOfCall", "ATA.ATATimePortOfCall");
|
ata.ATAPortOfCall = reader.ReadDateTime("ATA.ATADatePortOfCall", "ATA.ATATimePortOfCall");
|
||||||
}
|
}
|
||||||
|
|
||||||
return !(!ata.ATAPortOfCall.HasValue && ataMessage.IsNew);
|
return !(!ata.ATAPortOfCall.HasValue && ataMessage.IsNew);
|
||||||
@ -151,7 +160,7 @@ namespace ENI2.Import
|
|||||||
|
|
||||||
if (!atd.ATDPortOfCall.HasValue)
|
if (!atd.ATDPortOfCall.HasValue)
|
||||||
{
|
{
|
||||||
reader.ReadDateTime("ATD.ATDDatePortOfCall", "ATD.ATDTimePortOfCall");
|
atd.ATDPortOfCall = reader.ReadDateTime("ATD.ATDDatePortOfCall", "ATD.ATDTimePortOfCall");
|
||||||
}
|
}
|
||||||
|
|
||||||
return !(!atd.ATDPortOfCall.HasValue && atdMessage.IsNew);
|
return !(!atd.ATDPortOfCall.HasValue && atdMessage.IsNew);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user