5.0.12 : kleine Korrektur für verschlüsselte? (und demnach nicht lesbare) Excel-Sheets
This commit is contained in:
parent
c26f49dc92
commit
54fad6def2
Binary file not shown.
@ -124,78 +124,86 @@ namespace bsmd.ExcelReadService
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// try to read/import attachment
|
// try to read/import attachment
|
||||||
using (ExcelReader reader = new ExcelReader(attachmentLocalPath))
|
try
|
||||||
{
|
{
|
||||||
try
|
using (ExcelReader reader = new ExcelReader(attachmentLocalPath))
|
||||||
{
|
{
|
||||||
ImportHeader importHeader = new ImportHeader();
|
try
|
||||||
importHeader.ImportDate = DateTime.Now;
|
|
||||||
readResult = Util.ProcessSheet(reader, out readMessage, out messageCore);
|
|
||||||
if(readResult)
|
|
||||||
{
|
{
|
||||||
// Saving plaintext data (ImportHeader + ImportValues) for each reading
|
ImportHeader importHeader = new ImportHeader();
|
||||||
|
importHeader.ImportDate = DateTime.Now;
|
||||||
importHeader.MessageCoreId = messageCore.Id.Value;
|
readResult = Util.ProcessSheet(reader, out readMessage, out messageCore);
|
||||||
importHeader.Filename = Path.GetFileName(attachmentLocalPath);
|
if (readResult)
|
||||||
importHeader.SenderEmail = mailSender;
|
|
||||||
|
|
||||||
bool foundReportingParty = false;
|
|
||||||
foreach (Guid rpKey in reportingPartyDict.Keys)
|
|
||||||
{
|
{
|
||||||
if (reportingPartyDict[rpKey].UserEMail.IsNullOrEmpty()) continue;
|
// Saving plaintext data (ImportHeader + ImportValues) for each reading
|
||||||
if (reportingPartyDict[rpKey].UserEMail.Equals(mailSender, StringComparison.OrdinalIgnoreCase))
|
|
||||||
|
importHeader.MessageCoreId = messageCore.Id.Value;
|
||||||
|
importHeader.Filename = Path.GetFileName(attachmentLocalPath);
|
||||||
|
importHeader.SenderEmail = mailSender;
|
||||||
|
|
||||||
|
bool foundReportingParty = false;
|
||||||
|
foreach (Guid rpKey in reportingPartyDict.Keys)
|
||||||
{
|
{
|
||||||
importHeader.ReportingPartyId = rpKey;
|
if (reportingPartyDict[rpKey].UserEMail.IsNullOrEmpty()) continue;
|
||||||
foundReportingParty = true;
|
if (reportingPartyDict[rpKey].UserEMail.Equals(mailSender, StringComparison.OrdinalIgnoreCase))
|
||||||
break;
|
{
|
||||||
|
importHeader.ReportingPartyId = rpKey;
|
||||||
|
foundReportingParty = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (!foundReportingParty)
|
||||||
|
{
|
||||||
|
_log.WarnFormat("Sender {0} is an unknown reporting party", mailSender);
|
||||||
|
}
|
||||||
|
|
||||||
|
DBManager.Instance.Save(importHeader);
|
||||||
|
|
||||||
|
List<ImportValue> valueList = importHeader.CreateUpdateList(reader.ImportValues);
|
||||||
|
// Bulk save recommended here..
|
||||||
|
ImportValue.BulkSave(valueList);
|
||||||
|
|
||||||
}
|
}
|
||||||
if(!foundReportingParty)
|
|
||||||
{
|
|
||||||
_log.WarnFormat("Sender {0} is an unknown reporting party", mailSender);
|
|
||||||
}
|
|
||||||
|
|
||||||
DBManager.Instance.Save(importHeader);
|
|
||||||
|
|
||||||
List<ImportValue> valueList = importHeader.CreateUpdateList(reader.ImportValues);
|
|
||||||
// Bulk save recommended here..
|
|
||||||
ImportValue.BulkSave(valueList);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
catch (Exception ex)
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
_log.Error(ex.ToString());
|
|
||||||
readMessage = string.Format("{0} Unerwartete Fehlersitutation:Bitte Info an Christin od. Daniel", ex.Message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!readResult)
|
|
||||||
{
|
|
||||||
receiptText = string.Format("Incoming sheet could not be read: {0}", readMessage);
|
|
||||||
_log.Error(receiptText);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (readResult)
|
|
||||||
{
|
|
||||||
// Quittung / set messagecore to createreport and let reportGenerator create a reply?
|
|
||||||
if (Properties.Settings.Default.SendConfirmationSheet)
|
|
||||||
{
|
{
|
||||||
|
_log.Error(ex.ToString());
|
||||||
|
readMessage = string.Format("{0} Unerwartete Fehlersitutation:Bitte Info an Christin od. Daniel", ex.Message);
|
||||||
|
}
|
||||||
|
|
||||||
List<string> localConfirmationSheets = reader.SaveConfirmationSheets(attachmentLocalPath);
|
if (!readResult)
|
||||||
|
{
|
||||||
|
receiptText = string.Format("Incoming sheet could not be read: {0}", readMessage);
|
||||||
|
_log.Error(receiptText);
|
||||||
|
}
|
||||||
|
|
||||||
// get the ship's name
|
if (readResult)
|
||||||
string shipname = DBManager.Instance.GetShipNameFromCore(messageCore);
|
{
|
||||||
if (shipname.IsNullOrEmpty()) shipname = messageCore.IMO;
|
// Quittung / set messagecore to createreport and let reportGenerator create a reply?
|
||||||
|
if (Properties.Settings.Default.SendConfirmationSheet)
|
||||||
|
{
|
||||||
|
|
||||||
if (mailSubject.IsNullOrEmpty())
|
List<string> localConfirmationSheets = reader.SaveConfirmationSheets(attachmentLocalPath);
|
||||||
mailSubject = string.Format("{0}: {1}", Properties.Settings.Default.SendEMailSubject, shipname);
|
|
||||||
|
|
||||||
// send reply sheet back to sender
|
// get the ship's name
|
||||||
BSMDMail.SendNSWReportWithAttachments(mailSubject, localConfirmationSheets, mailSender);
|
string shipname = DBManager.Instance.GetShipNameFromCore(messageCore);
|
||||||
|
if (shipname.IsNullOrEmpty()) shipname = messageCore.IMO;
|
||||||
|
|
||||||
|
if (mailSubject.IsNullOrEmpty())
|
||||||
|
mailSubject = string.Format("{0}: {1}", Properties.Settings.Default.SendEMailSubject, shipname);
|
||||||
|
|
||||||
|
// send reply sheet back to sender
|
||||||
|
BSMDMail.SendNSWReportWithAttachments(mailSubject, localConfirmationSheets, mailSender);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch(Exception excelReadException)
|
||||||
|
{
|
||||||
|
receiptText = string.Format("Error opening excel sheet: {0}", excelReadException.Message);
|
||||||
|
_log.Error(receiptText);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove attachment
|
// remove attachment
|
||||||
|
|||||||
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
[assembly: AssemblyCompany("schick Informatik")]
|
[assembly: AssemblyCompany("schick Informatik")]
|
||||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||||
[assembly: AssemblyInformationalVersion("5.0.11")]
|
[assembly: AssemblyInformationalVersion("5.0.12")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014-2018 schick Informatik")]
|
[assembly: AssemblyCopyright("Copyright © 2014-2018 schick Informatik")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
@ -1,4 +1,4 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("5.0.11.*")]
|
[assembly: AssemblyVersion("5.0.12.*")]
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user