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 ENI2.EditControls;
|
||||
using ENI2.Import;
|
||||
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Media;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace ENI2.DetailViewControls
|
||||
{
|
||||
@ -718,12 +721,31 @@ namespace ENI2.DetailViewControls
|
||||
SelectImportClassesDialog sicd = new SelectImportClassesDialog();
|
||||
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();
|
||||
|
||||
// start importer
|
||||
|
||||
// validate all selected import classes (Finger with "selection")
|
||||
ExcelManager em = new ExcelManager();
|
||||
// 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")
|
||||
this.OnRequestValidate();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(importResultText, "Import failed", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -23,81 +23,90 @@ namespace ENI2.Import
|
||||
|
||||
internal static bool ProcessSheet(ExcelReader reader, out string readMessage, MessageCore messageCore, List<Message.NotificationClass> notificationClasses)
|
||||
{
|
||||
messageCore = ExcelUtil.LookupMessageCore(reader, out readMessage);
|
||||
|
||||
if (messageCore == null) return false; // cannot work with this sheet or create one
|
||||
bool result = true;
|
||||
// messageCore = ExcelUtil.LookupMessageCore(reader, out readMessage);
|
||||
|
||||
// if (messageCore == null) return false; // cannot work with this sheet or create one
|
||||
readMessage = "";
|
||||
// load messages if already present
|
||||
List<Message> messages = DBManager.Instance.GetMessagesForCore(messageCore, DBManager.MessageLoad.ALL);
|
||||
|
||||
// parse selected classes
|
||||
|
||||
foreach(Message message in messages)
|
||||
try
|
||||
{
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.AGNT) && notificationClasses.Contains(Message.NotificationClass.AGNT))
|
||||
{ if(ScanAGNT(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.ATA) && notificationClasses.Contains(Message.NotificationClass.ATA))
|
||||
{ if (ScanATA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.ATD) && notificationClasses.Contains(Message.NotificationClass.ATD))
|
||||
{ if (ScanATD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.BKRA) && notificationClasses.Contains(Message.NotificationClass.BKRA))
|
||||
{ if (ScanBKRA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.BKRD) && notificationClasses.Contains(Message.NotificationClass.BKRD))
|
||||
{ if (ScanBKRD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.BPOL) && notificationClasses.Contains(Message.NotificationClass.BPOL))
|
||||
{ if (ScanBPOL(message, messages, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.CREW) && notificationClasses.Contains(Message.NotificationClass.CREW))
|
||||
{ if (ScanCREW(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.CREWD) && notificationClasses.Contains(Message.NotificationClass.CREWD))
|
||||
{ if (ScanCREWD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.HAZA) && notificationClasses.Contains(Message.NotificationClass.HAZA))
|
||||
{ if (ScanHAZA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.HAZD) && notificationClasses.Contains(Message.NotificationClass.HAZD))
|
||||
{ if (ScanHAZD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.INFO) && notificationClasses.Contains(Message.NotificationClass.INFO))
|
||||
{ if (ScanINFO(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.LADG) && notificationClasses.Contains(Message.NotificationClass.LADG))
|
||||
{ if (ScanLADG(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.MDH) && notificationClasses.Contains(Message.NotificationClass.MDH))
|
||||
{ if (ScanMDH(message, messages, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.NAME) && notificationClasses.Contains(Message.NotificationClass.NAME))
|
||||
{ if (ScanNAME(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.NOA_NOD) && notificationClasses.Contains(Message.NotificationClass.NOA_NOD))
|
||||
{ if (ScanNOA_NOD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.PAS) && notificationClasses.Contains(Message.NotificationClass.PAS))
|
||||
{ if (ScanPAS(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.PASD) && notificationClasses.Contains(Message.NotificationClass.PASD))
|
||||
{ if (ScanPASD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.POBA) && notificationClasses.Contains(Message.NotificationClass.POBA))
|
||||
{ if (ScanPOBA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.POBD) && notificationClasses.Contains(Message.NotificationClass.POBD))
|
||||
{ if (ScanPOBD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.PRE72H) && notificationClasses.Contains(Message.NotificationClass.PRE72H))
|
||||
{ if (ScanPRE72H(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.SEC) && notificationClasses.Contains(Message.NotificationClass.SEC))
|
||||
{ if (ScanSEC(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.SERV) && notificationClasses.Contains(Message.NotificationClass.SERV))
|
||||
{ if (ScanSERV(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.STAT) && notificationClasses.Contains(Message.NotificationClass.STAT))
|
||||
{ if (ScanSTAT(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.STO) && notificationClasses.Contains(Message.NotificationClass.STO))
|
||||
{ if (ScanSTO(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.TIEFA) && notificationClasses.Contains(Message.NotificationClass.TIEFA))
|
||||
{ if (ScanTIEFA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.TIEFD) && notificationClasses.Contains(Message.NotificationClass.TIEFD))
|
||||
{ if (ScanTIEFD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.TOWA) && notificationClasses.Contains(Message.NotificationClass.TOWA))
|
||||
{ if (ScanTOWA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.TOWD) && notificationClasses.Contains(Message.NotificationClass.TOWD))
|
||||
{ if (ScanTOWD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.WAS) && notificationClasses.Contains(Message.NotificationClass.WAS))
|
||||
{ if (ScanWAS(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
|
||||
foreach (Message message in messages)
|
||||
{
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.AGNT) && notificationClasses.Contains(Message.NotificationClass.AGNT))
|
||||
{ if (ScanAGNT(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.ATA) && notificationClasses.Contains(Message.NotificationClass.ATA))
|
||||
{ if (ScanATA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.ATD) && notificationClasses.Contains(Message.NotificationClass.ATD))
|
||||
{ if (ScanATD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.BKRA) && notificationClasses.Contains(Message.NotificationClass.BKRA))
|
||||
{ if (ScanBKRA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.BKRD) && notificationClasses.Contains(Message.NotificationClass.BKRD))
|
||||
{ if (ScanBKRD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.BPOL) && notificationClasses.Contains(Message.NotificationClass.BPOL))
|
||||
{ if (ScanBPOL(message, messages, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.CREW) && notificationClasses.Contains(Message.NotificationClass.CREW))
|
||||
{ if (ScanCREW(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.CREWD) && notificationClasses.Contains(Message.NotificationClass.CREWD))
|
||||
{ if (ScanCREWD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.HAZA) && notificationClasses.Contains(Message.NotificationClass.HAZA))
|
||||
{ if (ScanHAZA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.HAZD) && notificationClasses.Contains(Message.NotificationClass.HAZD))
|
||||
{ if (ScanHAZD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.INFO) && notificationClasses.Contains(Message.NotificationClass.INFO))
|
||||
{ if (ScanINFO(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.LADG) && notificationClasses.Contains(Message.NotificationClass.LADG))
|
||||
{ if (ScanLADG(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.MDH) && notificationClasses.Contains(Message.NotificationClass.MDH))
|
||||
{ if (ScanMDH(message, messages, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.NAME) && notificationClasses.Contains(Message.NotificationClass.NAME))
|
||||
{ if (ScanNAME(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.NOA_NOD) && notificationClasses.Contains(Message.NotificationClass.NOA_NOD))
|
||||
{ if (ScanNOA_NOD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.PAS) && notificationClasses.Contains(Message.NotificationClass.PAS))
|
||||
{ if (ScanPAS(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.PASD) && notificationClasses.Contains(Message.NotificationClass.PASD))
|
||||
{ if (ScanPASD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.POBA) && notificationClasses.Contains(Message.NotificationClass.POBA))
|
||||
{ if (ScanPOBA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.POBD) && notificationClasses.Contains(Message.NotificationClass.POBD))
|
||||
{ if (ScanPOBD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.PRE72H) && notificationClasses.Contains(Message.NotificationClass.PRE72H))
|
||||
{ if (ScanPRE72H(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.SEC) && notificationClasses.Contains(Message.NotificationClass.SEC))
|
||||
{ if (ScanSEC(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.SERV) && notificationClasses.Contains(Message.NotificationClass.SERV))
|
||||
{ if (ScanSERV(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.STAT) && notificationClasses.Contains(Message.NotificationClass.STAT))
|
||||
{ if (ScanSTAT(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.STO) && notificationClasses.Contains(Message.NotificationClass.STO))
|
||||
{ if (ScanSTO(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.TIEFA) && notificationClasses.Contains(Message.NotificationClass.TIEFA))
|
||||
{ if (ScanTIEFA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.TIEFD) && notificationClasses.Contains(Message.NotificationClass.TIEFD))
|
||||
{ if (ScanTIEFD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.TOWA) && notificationClasses.Contains(Message.NotificationClass.TOWA))
|
||||
{ if (ScanTOWA(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.TOWD) && notificationClasses.Contains(Message.NotificationClass.TOWD))
|
||||
{ if (ScanTOWD(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
if ((message.MessageNotificationClass == Message.NotificationClass.WAS) && notificationClasses.Contains(Message.NotificationClass.WAS))
|
||||
{ if (ScanWAS(message, messageCore, reader)) SaveMessage(message); break; }
|
||||
|
||||
}
|
||||
|
||||
DBManager.Instance.Save(messageCore); // muss das eigentlich sein?
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
readMessage = ex.Message;
|
||||
result = false;
|
||||
}
|
||||
|
||||
DBManager.Instance.Save(messageCore);
|
||||
|
||||
return true;
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static void SaveMessage(Message message)
|
||||
@ -128,7 +137,7 @@ namespace ENI2.Import
|
||||
|
||||
if(!ata.ATAPortOfCall.HasValue)
|
||||
{
|
||||
reader.ReadDateTime("ATA.ATADatePortOfCall", "ATA.ATATimePortOfCall");
|
||||
ata.ATAPortOfCall = reader.ReadDateTime("ATA.ATADatePortOfCall", "ATA.ATATimePortOfCall");
|
||||
}
|
||||
|
||||
return !(!ata.ATAPortOfCall.HasValue && ataMessage.IsNew);
|
||||
@ -151,7 +160,7 @@ namespace ENI2.Import
|
||||
|
||||
if (!atd.ATDPortOfCall.HasValue)
|
||||
{
|
||||
reader.ReadDateTime("ATD.ATDDatePortOfCall", "ATD.ATDTimePortOfCall");
|
||||
atd.ATDPortOfCall = reader.ReadDateTime("ATD.ATDDatePortOfCall", "ATD.ATDTimePortOfCall");
|
||||
}
|
||||
|
||||
return !(!atd.ATDPortOfCall.HasValue && atdMessage.IsNew);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user