5.0.12 : kleine Korrektur für verschlüsselte? (und demnach nicht lesbare) Excel-Sheets

This commit is contained in:
Daniel Schick 2018-07-06 12:09:23 +00:00
parent c26f49dc92
commit 54fad6def2
4 changed files with 65 additions and 57 deletions

Binary file not shown.

View File

@ -124,79 +124,87 @@ namespace bsmd.ExcelReadService
else
{
// try to read/import attachment
using (ExcelReader reader = new ExcelReader(attachmentLocalPath))
try
{
try
using (ExcelReader reader = new ExcelReader(attachmentLocalPath))
{
ImportHeader importHeader = new ImportHeader();
importHeader.ImportDate = DateTime.Now;
readResult = Util.ProcessSheet(reader, out readMessage, out messageCore);
if(readResult)
try
{
// Saving plaintext data (ImportHeader + ImportValues) for each reading
importHeader.MessageCoreId = messageCore.Id.Value;
importHeader.Filename = Path.GetFileName(attachmentLocalPath);
importHeader.SenderEmail = mailSender;
bool foundReportingParty = false;
foreach (Guid rpKey in reportingPartyDict.Keys)
ImportHeader importHeader = new ImportHeader();
importHeader.ImportDate = DateTime.Now;
readResult = Util.ProcessSheet(reader, out readMessage, out messageCore);
if (readResult)
{
if (reportingPartyDict[rpKey].UserEMail.IsNullOrEmpty()) continue;
if (reportingPartyDict[rpKey].UserEMail.Equals(mailSender, StringComparison.OrdinalIgnoreCase))
// Saving plaintext data (ImportHeader + ImportValues) for each reading
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;
foundReportingParty = true;
break;
if (reportingPartyDict[rpKey].UserEMail.IsNullOrEmpty()) continue;
if (reportingPartyDict[rpKey].UserEMail.Equals(mailSender, StringComparison.OrdinalIgnoreCase))
{
importHeader.ReportingPartyId = rpKey;
foundReportingParty = true;
break;
}
}
if (!foundReportingParty)
{
_log.WarnFormat("Sender {0} is an unknown reporting party", mailSender);
}
}
if(!foundReportingParty)
{
_log.WarnFormat("Sender {0} is an unknown reporting party", mailSender);
}
DBManager.Instance.Save(importHeader);
DBManager.Instance.Save(importHeader);
List<ImportValue> valueList = importHeader.CreateUpdateList(reader.ImportValues);
// Bulk save recommended here..
ImportValue.BulkSave(valueList);
List<ImportValue> valueList = importHeader.CreateUpdateList(reader.ImportValues);
// Bulk save recommended here..
ImportValue.BulkSave(valueList);
}
}
}
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)
catch (Exception ex)
{
_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
string shipname = DBManager.Instance.GetShipNameFromCore(messageCore);
if (shipname.IsNullOrEmpty()) shipname = messageCore.IMO;
if (readResult)
{
// Quittung / set messagecore to createreport and let reportGenerator create a reply?
if (Properties.Settings.Default.SendConfirmationSheet)
{
if (mailSubject.IsNullOrEmpty())
mailSubject = string.Format("{0}: {1}", Properties.Settings.Default.SendEMailSubject, shipname);
List<string> localConfirmationSheets = reader.SaveConfirmationSheets(attachmentLocalPath);
// send reply sheet back to sender
BSMDMail.SendNSWReportWithAttachments(mailSubject, localConfirmationSheets, mailSender);
// get the ship's name
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
_log.InfoFormat("removing local file {0}", attachmentLocalPath);

View File

@ -2,6 +2,6 @@
[assembly: AssemblyCompany("schick Informatik")]
[assembly: AssemblyProduct("BSMD NSW interface")]
[assembly: AssemblyInformationalVersion("5.0.11")]
[assembly: AssemblyInformationalVersion("5.0.12")]
[assembly: AssemblyCopyright("Copyright © 2014-2018 schick Informatik")]
[assembly: AssemblyTrademark("")]

View File

@ -1,4 +1,4 @@
using System.Reflection;
[assembly: AssemblyVersion("5.0.11.*")]
[assembly: AssemblyVersion("5.0.12.*")]