From d223c0921b8419a694e374ca23e61bbf905353f2 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Thu, 28 Apr 2022 09:10:18 +0200 Subject: [PATCH] Started work on AGNT, NAME --- ENI2/ENI2.csproj | 4 +- ENI2/Excel/DakosyExcelReader.cs | 27 --- ENI2/Excel/DakosyUtil.cs | 324 ++++++++++++++++++++++++++++++++ ENI2/Excel/ExcelManager.cs | 2 +- ENI2/Excel/ExcelReader.cs | 41 +++- ENI2/Excel/ExcelUtil.cs | 76 ++++---- 6 files changed, 397 insertions(+), 77 deletions(-) delete mode 100644 ENI2/Excel/DakosyExcelReader.cs create mode 100644 ENI2/Excel/DakosyUtil.cs diff --git a/ENI2/ENI2.csproj b/ENI2/ENI2.csproj index 7a4ab3c9..7ad6d944 100644 --- a/ENI2/ENI2.csproj +++ b/ENI2/ENI2.csproj @@ -37,7 +37,7 @@ true publish.html 0 - 7.0.3.0 + 7.1.0.0 false true true @@ -236,7 +236,7 @@ EditWasteReceivedDialog.xaml - + diff --git a/ENI2/Excel/DakosyExcelReader.cs b/ENI2/Excel/DakosyExcelReader.cs deleted file mode 100644 index 404169e2..00000000 --- a/ENI2/Excel/DakosyExcelReader.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) 2017- schick Informatik -// Description: Helper class to read data from "Dakosy"-Style Excel Sheets -// - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -using bsmd.database; - -namespace ENI2.Excel -{ - internal static class DakosyExcelReader - { - - internal static bool ProcessSheet(ExcelReader reader, out string readMessage, MessageCore messageCore, List notificationClasses) - { - bool result = true; - readMessage = ""; - - - return result; - } - } -} diff --git a/ENI2/Excel/DakosyUtil.cs b/ENI2/Excel/DakosyUtil.cs new file mode 100644 index 00000000..764858f0 --- /dev/null +++ b/ENI2/Excel/DakosyUtil.cs @@ -0,0 +1,324 @@ +// Copyright (c) 2017- schick Informatik +// Description: Helper class to read data from "Dakosy"-Style Excel Sheets +// + +using log4net; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using bsmd.database; + +namespace ENI2.Excel +{ + internal static class DakosyUtil + { + private static readonly ILog _log = LogManager.GetLogger(typeof(DakosyUtil)); + + internal static bool ProcessSheet(ExcelReader reader, out string readMessage, MessageCore messageCore, List notificationClasses) + { + bool result = true; + readMessage = ""; + + // Test if an Id is found in the sheet. If so, it has to match the id of the current core + string visitTransitId = reader.ReadCellAsText("main", "C12"); + if (visitTransitId != null) + { + MessageCore aMessageCore = null; + if (bsmd.database.Util.IsVisitId(visitTransitId)) + { + aMessageCore = DBManager.Instance.GetMessageCoreByVisitId(visitTransitId); + } + else if (bsmd.database.Util.IsTransitId(visitTransitId)) + { + aMessageCore = DBManager.Instance.GetMessageCoreByTransitId(visitTransitId); + } + + if ((aMessageCore == null) || (aMessageCore.Id.Value != messageCore.Id.Value)) + { + readMessage = "Id not matching in import sheet"; + return false; + } + } + + // load messages if already present + List messages = DBManager.Instance.GetMessagesForCore(messageCore, DBManager.MessageLoad.ALL); + messages.Sort(); + + // now parse all data into the message classes + try + { + + foreach (Message message in messages) + { + if ((message.MessageNotificationClass == Message.NotificationClass.AGNT) && notificationClasses.Contains(Message.NotificationClass.AGNT)) + { if (ScanAGNT(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.ATA) && notificationClasses.Contains(Message.NotificationClass.ATA)) + { if (ScanATA(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.ATD) && notificationClasses.Contains(Message.NotificationClass.ATD)) + { if (ScanATD(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.BKRA) && notificationClasses.Contains(Message.NotificationClass.BKRA)) + { if (ScanBKRA(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.BKRD) && notificationClasses.Contains(Message.NotificationClass.BKRD)) + { if (ScanBKRD(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.BPOL) && notificationClasses.Contains(Message.NotificationClass.BPOL)) + { if (ScanBPOL(message, messages, messageCore, reader)) ExcelReader.SaveMessage(message); } + if ((message.MessageNotificationClass == Message.NotificationClass.CREW) && notificationClasses.Contains(Message.NotificationClass.CREW)) + { if (ScanCREW(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.CREWD) && notificationClasses.Contains(Message.NotificationClass.CREWD)) + { if (ScanCREWD(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.HAZA) && notificationClasses.Contains(Message.NotificationClass.HAZA)) + { if (ScanHAZA(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.HAZD) && notificationClasses.Contains(Message.NotificationClass.HAZD)) + { if (ScanHAZD(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.INFO) && notificationClasses.Contains(Message.NotificationClass.INFO)) + { if (ScanINFO(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.LADG) && notificationClasses.Contains(Message.NotificationClass.LADG)) + { if (ScanLADG(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.MDH) && notificationClasses.Contains(Message.NotificationClass.MDH)) + { if (ScanMDH(message, messages, messageCore, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.NAME) && notificationClasses.Contains(Message.NotificationClass.NAME)) + { if (ScanNAME(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.NOA_NOD) && notificationClasses.Contains(Message.NotificationClass.NOA_NOD)) + { if (ScanNOA_NOD(message, messageCore, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.PAS) && notificationClasses.Contains(Message.NotificationClass.PAS)) + { if (ScanPAS(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.PASD) && notificationClasses.Contains(Message.NotificationClass.PASD)) + { if (ScanPASD(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.POBA) && notificationClasses.Contains(Message.NotificationClass.POBA)) + { if (ScanPOBA(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.POBD) && notificationClasses.Contains(Message.NotificationClass.POBD)) + { if (ScanPOBD(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.PRE72H) && notificationClasses.Contains(Message.NotificationClass.PRE72H)) + { if (ScanPRE72H(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.SEC) && notificationClasses.Contains(Message.NotificationClass.SEC)) + { if (ScanSEC(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.SERV) && notificationClasses.Contains(Message.NotificationClass.SERV)) + { if (ScanSERV(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.STAT) && notificationClasses.Contains(Message.NotificationClass.STAT)) + { if (ScanSTAT(message, messageCore, messages, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.STO) && notificationClasses.Contains(Message.NotificationClass.STO)) + { if (ScanSTO(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.TIEFA) && notificationClasses.Contains(Message.NotificationClass.TIEFA)) + { if (ScanTIEFA(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.TIEFD) && notificationClasses.Contains(Message.NotificationClass.TIEFD)) + { if (ScanTIEFD(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.TOWA) && notificationClasses.Contains(Message.NotificationClass.TOWA)) + { if (ScanTOWA(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.TOWD) && notificationClasses.Contains(Message.NotificationClass.TOWD)) + { if (ScanTOWD(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.WAS) && notificationClasses.Contains(Message.NotificationClass.WAS)) + { if (ScanWAS(message, reader)) ExcelReader.SaveMessage(message); continue; } + if ((message.MessageNotificationClass == Message.NotificationClass.WAS_RCPT) && notificationClasses.Contains(Message.NotificationClass.WAS_RCPT)) + { if (ScanWAS_RCPT(message, reader)) ExcelReader.SaveMessage(message); continue; } + + } + + DBManager.Instance.Save(messageCore); // muss das eigentlich sein? + } + catch (Exception ex) + { + readMessage = ex.Message; + result = false; + } + + return result; + } + + private static bool ScanWAS_RCPT(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanWAS(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanTOWD(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanTOWA(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanTIEFD(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanTIEFA(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanSTO(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanSTAT(Message message, MessageCore messageCore, List messages, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanSERV(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanSEC(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanPRE72H(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanPOBD(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanPOBA(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanPASD(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanPAS(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanNOA_NOD(Message message, MessageCore messageCore, ExcelReader reader) + { + throw new NotImplementedException(); + } + + #region NAME + + private static bool ScanNAME(Message nameMessage, ExcelReader reader) + { + if (nameMessage.Elements.Count == 0) + { + NAME newNAME = new NAME(); + newNAME.MessageHeader = nameMessage; + nameMessage.Elements.Add(newNAME); + } + NAME name = nameMessage.Elements[0] as NAME; + name.NameOfMaster = reader.ReadCellAsText("port message", "C11"); + if (name.NameOfMaster.IsNullOrEmpty() && name.IsNew) + return false; + return true; + } + + #endregion + + + private static bool ScanMDH(Message message, List messages, MessageCore messageCore, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanLADG(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanINFO(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanHAZD(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanHAZA(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanCREWD(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanCREW(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanBPOL(Message message, List messages, MessageCore messageCore, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanBKRD(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanBKRA(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanATD(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + private static bool ScanATA(Message message, ExcelReader reader) + { + throw new NotImplementedException(); + } + + #region AGNT + + private static bool ScanAGNT(Message agntMessage, ExcelReader reader) + { + if (agntMessage.Elements.Count == 0) + { + AGNT newAgnt = new AGNT(); + newAgnt.MessageHeader = agntMessage; + agntMessage.Elements.Add(newAgnt); + } + + AGNT agnt = agntMessage.Elements[0] as AGNT; + agnt.AgentCompanyName = reader.ReadCellAsText("main", "C32"); + agnt.AgentCity = reader.ReadCellAsText("main", "C36"); + agnt.AgentCountry = reader.ReadCellAsText("main", "C37"); + agnt.AgentEMail = reader.ReadCellAsText("main", "C42"); + agnt.AgentFax = reader.ReadCellAsText("main", "C41"); + agnt.AgentFirstName = reader.ReadCellAsText("main", "C39"); + agnt.AgentLastName = reader.ReadCellAsText("main", "C38"); + agnt.AgentPhone = reader.ReadCellAsText("main", "C40"); + agnt.AgentPostalCode = reader.ReadCellAsText("main", "C35"); + string street = reader.ReadCellAsText("main", "C33") ?? ""; + string number = reader.ReadCellAsText("main", "C34") ?? ""; + agnt.AgentStreetAndNumber = string.Format("{0} {1}", street, number); + + if (agnt.AgentLastName.IsNullOrEmpty()) agnt.AgentLastName = "-"; + + // wird nicht mehr entfernt, egal welche Felder gelesen werden + return true; + } + + #endregion + + } +} diff --git a/ENI2/Excel/ExcelManager.cs b/ENI2/Excel/ExcelManager.cs index f2e78cf1..4e1f1d9c 100644 --- a/ENI2/Excel/ExcelManager.cs +++ b/ENI2/Excel/ExcelManager.cs @@ -55,7 +55,7 @@ namespace ENI2.Excel } case ExcelReader.SheetTypeEnum.DAKOSY: { - result = DakosyExcelReader.ProcessSheet(reader, out readMessage, core, classes); + result = DakosyUtil.ProcessSheet(reader, out readMessage, core, classes); // at this point do not save import data values break; } diff --git a/ENI2/Excel/ExcelReader.cs b/ENI2/Excel/ExcelReader.cs index 7ee60903..fc0416ed 100644 --- a/ENI2/Excel/ExcelReader.cs +++ b/ENI2/Excel/ExcelReader.cs @@ -22,12 +22,13 @@ using bsmd.database; namespace ENI2.Excel { internal class ExcelReader : ExcelBase - { + { + internal enum ReadState { NONE, OK, WARN, FAIL }; internal enum SheetTypeEnum { BSMD, DAKOSY }; - private SheetTypeEnum _sheetType = SheetTypeEnum.BSMD; + private readonly SheetTypeEnum _sheetType = SheetTypeEnum.BSMD; internal Dictionary ImportValues { get; } = new Dictionary(); @@ -42,6 +43,18 @@ namespace ENI2.Excel public SheetTypeEnum SheetType { get { return _sheetType; } } + internal static void SaveMessage(Message message) + { + message.CreatedBy = "EXCEL"; + if (message.MessageNotificationClass == Message.NotificationClass.STO) + message.InternalStatus = Message.BSMDStatus.PREPARE; + else + message.InternalStatus = Message.BSMDStatus.EXCEL; + message.UnsentMessageWarningShown = false; + DBManager.Instance.Save(message); + message.SaveElements(); + } + internal string ReadText(string lookup) { string result = null; @@ -544,6 +557,28 @@ namespace ENI2.Excel return true; return false; - } + } + + #region Dakosy-specific functions + + internal string ReadCellAsText(string sheetName, string range) + { + try + { + Worksheet workSheet = (Worksheet) _workBook.Worksheets[sheetName]; + string result = workSheet.Range[range].Text.ToString(); + + } + catch(Exception e) + { + _log.Warn(e.Message); + } + + return null; + } + + + #endregion + } } diff --git a/ENI2/Excel/ExcelUtil.cs b/ENI2/Excel/ExcelUtil.cs index a681508c..b91baaeb 100644 --- a/ENI2/Excel/ExcelUtil.cs +++ b/ENI2/Excel/ExcelUtil.cs @@ -49,65 +49,65 @@ namespace ENI2.Excel foreach (Message message in messages) { if ((message.MessageNotificationClass == Message.NotificationClass.AGNT) && notificationClasses.Contains(Message.NotificationClass.AGNT)) - { if (ScanAGNT(message, reader)) SaveMessage(message); continue; } + { if (ScanAGNT(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.ATA) && notificationClasses.Contains(Message.NotificationClass.ATA)) - { if (ScanATA(message, reader)) SaveMessage(message); continue; } + { if (ScanATA(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.ATD) && notificationClasses.Contains(Message.NotificationClass.ATD)) - { if (ScanATD(message, reader)) SaveMessage(message); continue; } + { if (ScanATD(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.BKRA) && notificationClasses.Contains(Message.NotificationClass.BKRA)) - { if (ScanBKRA(message, reader)) SaveMessage(message); continue; } + { if (ScanBKRA(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.BKRD) && notificationClasses.Contains(Message.NotificationClass.BKRD)) - { if (ScanBKRD(message, reader)) SaveMessage(message); continue; } + { if (ScanBKRD(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.BPOL) && notificationClasses.Contains(Message.NotificationClass.BPOL)) - { if (ScanBPOL(message, messages, messageCore, reader)) SaveMessage(message); } + { if (ScanBPOL(message, messages, messageCore, reader)) ExcelReader.SaveMessage(message); } if ((message.MessageNotificationClass == Message.NotificationClass.CREW) && notificationClasses.Contains(Message.NotificationClass.CREW)) - { if (ScanCREW(message, reader, isOldVersion)) SaveMessage(message); continue; } + { if (ScanCREW(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.CREWD) && notificationClasses.Contains(Message.NotificationClass.CREWD)) - { if (ScanCREWD(message, reader)) SaveMessage(message); continue; } + { if (ScanCREWD(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.HAZA) && notificationClasses.Contains(Message.NotificationClass.HAZA)) - { if (ScanHAZA(message, reader, isOldVersion)) SaveMessage(message); continue; } + { if (ScanHAZA(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.HAZD) && notificationClasses.Contains(Message.NotificationClass.HAZD)) - { if (ScanHAZD(message, reader)) SaveMessage(message); continue; } + { if (ScanHAZD(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.INFO) && notificationClasses.Contains(Message.NotificationClass.INFO)) - { if (ScanINFO(message, reader)) SaveMessage(message); continue; } + { if (ScanINFO(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.LADG) && notificationClasses.Contains(Message.NotificationClass.LADG)) - { if (ScanLADG(message, reader)) SaveMessage(message); continue; } + { if (ScanLADG(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.MDH) && notificationClasses.Contains(Message.NotificationClass.MDH)) - { if (ScanMDH(message, messages, messageCore, reader)) SaveMessage(message); continue; } + { if (ScanMDH(message, messages, messageCore, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.NAME) && notificationClasses.Contains(Message.NotificationClass.NAME)) - { if (ScanNAME(message, reader)) SaveMessage(message); continue; } + { if (ScanNAME(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.NOA_NOD) && notificationClasses.Contains(Message.NotificationClass.NOA_NOD)) - { if (ScanNOA_NOD(message, messageCore, reader)) SaveMessage(message); continue; } + { if (ScanNOA_NOD(message, messageCore, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.PAS) && notificationClasses.Contains(Message.NotificationClass.PAS)) - { if (ScanPAS(message, reader, isOldVersion)) SaveMessage(message); continue; } + { if (ScanPAS(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.PASD) && notificationClasses.Contains(Message.NotificationClass.PASD)) - { if (ScanPASD(message, reader)) SaveMessage(message); continue; } + { if (ScanPASD(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.POBA) && notificationClasses.Contains(Message.NotificationClass.POBA)) - { if (ScanPOBA(message, reader)) SaveMessage(message); continue; } + { if (ScanPOBA(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.POBD) && notificationClasses.Contains(Message.NotificationClass.POBD)) - { if (ScanPOBD(message, reader)) SaveMessage(message); continue; } + { if (ScanPOBD(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.PRE72H) && notificationClasses.Contains(Message.NotificationClass.PRE72H)) - { if (ScanPRE72H(message, reader)) SaveMessage(message); continue; } + { if (ScanPRE72H(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.SEC) && notificationClasses.Contains(Message.NotificationClass.SEC)) - { if (ScanSEC(message, reader)) SaveMessage(message); continue; } + { if (ScanSEC(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.SERV) && notificationClasses.Contains(Message.NotificationClass.SERV)) - { if (ScanSERV(message, reader)) SaveMessage(message); continue; } + { if (ScanSERV(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.STAT) && notificationClasses.Contains(Message.NotificationClass.STAT)) - { if (ScanSTAT(message, messageCore, messages, reader)) SaveMessage(message); continue; } + { if (ScanSTAT(message, messageCore, messages, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.STO) && notificationClasses.Contains(Message.NotificationClass.STO)) - { if (ScanSTO(message, reader)) SaveMessage(message); continue; } + { if (ScanSTO(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.TIEFA) && notificationClasses.Contains(Message.NotificationClass.TIEFA)) - { if (ScanTIEFA(message, reader, isOldVersion)) SaveMessage(message); continue; } + { if (ScanTIEFA(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.TIEFD) && notificationClasses.Contains(Message.NotificationClass.TIEFD)) - { if (ScanTIEFD(message, reader, isOldVersion)) SaveMessage(message); continue; } + { if (ScanTIEFD(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.TOWA) && notificationClasses.Contains(Message.NotificationClass.TOWA)) - { if (ScanTOWA(message, reader)) SaveMessage(message); continue; } + { if (ScanTOWA(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.TOWD) && notificationClasses.Contains(Message.NotificationClass.TOWD)) - { if (ScanTOWD(message, reader)) SaveMessage(message); continue; } + { if (ScanTOWD(message, reader)) ExcelReader.SaveMessage(message); continue; } if ((message.MessageNotificationClass == Message.NotificationClass.WAS) && notificationClasses.Contains(Message.NotificationClass.WAS)) - { if (ScanWAS(message, reader, isOldVersion)) SaveMessage(message); continue; } + { if (ScanWAS(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; } if((message.MessageNotificationClass == Message.NotificationClass.WAS_RCPT) && notificationClasses.Contains(Message.NotificationClass.WAS_RCPT)) - { if (ScanWAS_RCPT(message, reader)) SaveMessage(message); continue; } + { if (ScanWAS_RCPT(message, reader)) ExcelReader.SaveMessage(message); continue; } } @@ -120,19 +120,7 @@ namespace ENI2.Excel } return result; - } - - internal static void SaveMessage(Message message) - { - message.CreatedBy = "EXCEL"; - if (message.MessageNotificationClass == Message.NotificationClass.STO) - message.InternalStatus = Message.BSMDStatus.PREPARE; - else - message.InternalStatus = Message.BSMDStatus.EXCEL; - message.UnsentMessageWarningShown = false; - DBManager.Instance.Save(message); - message.SaveElements(); - } + } #region ATA @@ -971,7 +959,7 @@ namespace ENI2.Excel { PRE72H pre72h = preMessage.Elements[0] as PRE72H; pre72h.Tanker = stat.IsTanker; - SaveMessage(preMessage); + ExcelReader.SaveMessage(preMessage); } } }