Vor Umstellung der Pop 3 Library zum Testen des ExcelAbrufs

This commit is contained in:
Daniel Schick 2021-06-23 05:09:45 +00:00
parent a519f0f31a
commit 8151ceaa5b
12 changed files with 314 additions and 190 deletions

View File

@ -92,7 +92,7 @@ namespace ENI2
if (!reader.IsDBNull(0)) code = reader.GetString(0);
if (!reader.IsDBNull(1)) name = reader.GetString(1);
if ((code != null) && (name != null))
result[code] = name; // string.Format("{0} {1}", code, name);
result[code] = string.Format("{0} {1}", code, name);
}
reader.Close();
return result;

Binary file not shown.

View File

@ -45,6 +45,7 @@ namespace CoreDeleteTool
{
this.toolStripProgressBar.Maximum = this.dataGridView.SelectedRows.Count;
this.toolStripStatusLabel.Text = string.Format("Removing {0} items..", this.dataGridView.SelectedRows.Count);
int total = this.dataGridView.SelectedRows.Count;
for (int i = 0; i < this.dataGridView.SelectedRows.Count; i++)
{
@ -54,6 +55,8 @@ namespace CoreDeleteTool
DBManager.Instance.DeleteCore(selectedCore);
this.messageCores.Remove(selectedCore);
this.toolStripProgressBar.Value = i;
this.toolStripStatusLabel.Text = string.Format("Removed {0}/{1}", (i + 1), total);
Application.DoEvents();
}
}
}
@ -100,18 +103,19 @@ namespace CoreDeleteTool
if (MessageBox.Show("Delete all items?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{
Application.UseWaitCursor = true;
int total = this.messageCores.Count;
this.toolStripProgressBar.Maximum = this.messageCores.Count;
this.toolStripStatusLabel.Text = string.Format("Removing {0} items..", this.messageCores.Count);
for (int i = 0; i < this.messageCores.Count; i++)
{
MessageCore selectedCore = this.messageCores[i];
DBManager.Instance.DeleteCore(selectedCore);
this.messageCores.Remove(selectedCore);
this.toolStripProgressBar.Value = i;
this.toolStripStatusLabel.Text = string.Format("Removed {0}/{1}", (i + 1), total);
Application.DoEvents();
}
Application.UseWaitCursor = false;
this.messageCores.Clear();
}
}
}

View File

@ -10,12 +10,6 @@
</startup>
<applicationSettings>
<bsmd.ReportGenerator.Properties.Settings>
<setting name="ConnectionString" serializeAs="String">
<value>Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=E:\DATA\DB\NSW.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False</value>
</setting>
<setting name="OutputDirectory" serializeAs="String">
<value>E:\temp</value>>
</setting>
<setting name="SleepSeconds" serializeAs="String">
<value>300</value>
</setting>
@ -42,12 +36,18 @@
<setting name="Sender" serializeAs="String">
<value>donotreply@bsmd.de</value>
</setting>
<setting name="LogoPath" serializeAs="String">
<value>E:\svnlager\BSMD\nsw\Source\misc\EUREPORT.png</value>
</setting>
<setting name="DeleteFileAfterSend" serializeAs="String">
<value>False</value>
</setting>
<setting name="ConnectionString" serializeAs="String">
<value>Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=E:\DATA\DB\NSW.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False</value>
</setting>
<setting name="OutputDirectory" serializeAs="String">
<value>E:\temp</value>
</setting>
<setting name="LogoPath" serializeAs="String">
<value>E:\svnlager\BSMD\nsw\Source\misc\Logo.gif</value>
</setting>
</bsmd.ReportGenerator.Properties.Settings>
</applicationSettings>
</configuration>

View File

@ -27,6 +27,50 @@ namespace bsmd.ReportGenerator
{
public class BSMDDocument
{
#region static lookup helpers
private static Dictionary<string, string> _cargoCodesNST = null;
private static Dictionary<string, string> cargoCodesNST
{
get
{
if(_cargoCodesNST == null)
{
_cargoCodesNST = LocalizedLookup.getCargoCodesNST();
}
return _cargoCodesNST;
}
}
public static Dictionary<int, string> Edifact8025 = new Dictionary<int, string> {
{1, "Cargo operations" },
{2, "Passenger movement" },
{3, "Taking bunkers" },
{4, "Changing crew" },
{5, "Goodwill visit" },
{6, "Taking supplies" },
{7, "Repair" },
{8, "Laid-up" },
{9, "Awaiting orders" },
{10, "Miscellaneous" },
{11, "Crew movement" },
{12, "Cruise, leisure and recreation" },
{13, "Under government order" },
{14, "Quarantine inspection" },
{15, "Refuge" },
{16, "Unloading cargo" },
{17, "Loading cargo" },
{18, "Repair in dry dock" },
{19, "Repair in wet dock" },
{20, "Cargo tank cleaning" },
{21, "Means of transport customs clearance" },
{22, "De-gassing" },
{23, "Waste disposal" },
{98, "Pass through" }
};
#endregion
#region create document
@ -487,9 +531,63 @@ namespace bsmd.ReportGenerator
#endregion
#region NOA_NOD
if ((message != null) && (message.MessageNotificationClass == Message.NotificationClass.NOA_NOD))
{
NOA_NOD noa_nod = message.Elements[0] as NOA_NOD;
Table table = document.LastSection.AddTable();
table.Rows.VerticalAlignment = VerticalAlignment.Center;
table.Borders.Visible = true;
table.Borders.Color = Colors.LightGray;
table.AddColumn(290);
table.AddColumn(200);
Row row = table.AddRow();
if (noa_nod.ETAToPortOfCall.HasValue)
{
row.Cells[0].AddParagraph("Estimated time of arrival (ETA) at port of call");
row.Cells[1].AddParagraph(noa_nod.ETAToPortOfCall.Value.ToLocalTime().ToString("g"));
row = table.AddRow();
row.Cells[0].AddParagraph("Estimated time of departure (ETD) from port of call");
row.Cells[1].AddParagraph(noa_nod.ETDFromPortOfCall.HasValue ? noa_nod.ETDFromPortOfCall.Value.ToLocalTime().ToString("g") : "");
}
else // Kiel passage
{
row.Cells[0].AddParagraph("Estimated time of arrival (ETA) at Kiel Canal entrance (Transit)");
row.Cells[1].AddParagraph(noa_nod.ETAToKielCanal.HasValue ? noa_nod.ETAToKielCanal.Value.ToLocalTime().ToString("g") : "");
row = table.AddRow();
row.Cells[0].AddParagraph("Estimated time of departure (ETD) from Kiel Canal (Transit)");
row.Cells[1].AddParagraph(noa_nod.ETDFromKielCanal.HasValue ? noa_nod.ETDFromKielCanal.Value.ToLocalTime().ToString("g") : "");
}
row = table.AddRow();
row.Cells[0].AddParagraph("Last port");
row.Cells[1].AddParagraph(LocodeDB.PortNameFromLocode(noa_nod.LastPort) ?? "");
row = table.AddRow();
row.Cells[0].AddParagraph("Estimated time of departure from last port");
row.Cells[1].AddParagraph(noa_nod.ETDFromLastPort.HasValue ? noa_nod.ETDFromLastPort.Value.ToLocalTime().ToString("g") : "");
row = table.AddRow();
row.Cells[0].AddParagraph("Next port");
row.Cells[1].AddParagraph(LocodeDB.PortNameFromLocode(noa_nod.NextPort) ?? "");
row = table.AddRow();
row.Cells[0].AddParagraph("Estimated time of arrival at next port");
row.Cells[1].AddParagraph(noa_nod.ETAToNextPort.HasValue ? noa_nod.ETAToNextPort.Value.ToLocalTime().ToString("g") : "");
BSMDDocument.CreateCallPurposeTable(document, message);
return;
}
#endregion
#region BKRD
if((message != null) && (message.MessageNotificationClass == Message.NotificationClass.BKRD))
if ((message != null) && (message.MessageNotificationClass == Message.NotificationClass.BKRD))
{
BSMDDocument.CreateBKRDTable(document, message);
return;
@ -541,16 +639,6 @@ namespace bsmd.ReportGenerator
#endregion
#region NOA_NOD
if ((message != null) && (message.MessageNotificationClass == Message.NotificationClass.NOA_NOD))
{
BSMDDocument.CreateCallPurposeTable(document, message);
return;
}
#endregion
#region BPOL
if ((message != null) && (message.MessageNotificationClass == Message.NotificationClass.BPOL))
@ -591,6 +679,7 @@ namespace bsmd.ReportGenerator
{
Table table = document.LastSection.AddTable();
table.Rows.VerticalAlignment = VerticalAlignment.Center;
table.Borders.Color = Colors.LightGray;
table.Borders.Visible = true;
Column column = table.AddColumn();
@ -602,9 +691,9 @@ namespace bsmd.ReportGenerator
column = table.AddColumn();
column.Width = Unit.FromCentimeter(3);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(2);
column.Width = Unit.FromCentimeter(2.5);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(2);
column.Width = Unit.FromCentimeter(1.5);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(1);
column = table.AddColumn();
@ -653,6 +742,7 @@ namespace bsmd.ReportGenerator
Table table = document.LastSection.AddTable();
table.Rows.VerticalAlignment = VerticalAlignment.Center;
table.Borders.Visible = true;
table.Borders.Color = Colors.LightGray;
Column column = table.AddColumn();
column.Width = Unit.FromCentimeter(0.8);
@ -727,17 +817,13 @@ namespace bsmd.ReportGenerator
Table table = document.LastSection.AddTable();
table.Rows.VerticalAlignment = VerticalAlignment.Center;
table.Borders.Visible = true;
table.Borders.Color = Colors.LightGray;
Column column = table.AddColumn();
column.Width = Unit.FromCentimeter(0.8);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(2);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(3);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(1.2);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(9);
table.AddColumn(20);
table.AddColumn(80);
table.AddColumn(70);
table.AddColumn(100);
table.AddColumn(220);
Row hRow = table.AddRow();
@ -763,15 +849,12 @@ namespace bsmd.ReportGenerator
Table table = document.LastSection.AddTable();
table.Rows.VerticalAlignment = VerticalAlignment.Center;
table.Borders.Visible = true;
table.Borders.Color = Colors.LightGray;
Column column = table.AddColumn();
column.Width = Unit.FromCentimeter(0.8);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(2);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(3);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(1.5);
table.AddColumn(20);
table.AddColumn(200);
table.AddColumn(200);
table.AddColumn(70);
Row hRow = table.AddRow();
hRow.Cells[1].AddParagraph("Type");
@ -798,13 +881,11 @@ namespace bsmd.ReportGenerator
Table table = document.LastSection.AddTable();
table.Rows.VerticalAlignment = VerticalAlignment.Center;
table.Borders.Visible = true;
table.Borders.Color = Colors.LightGray;
Column column = table.AddColumn();
column.Width = Unit.FromCentimeter(0.8);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(3);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(2);
table.AddColumn(20);
table.AddColumn(400);
table.AddColumn(70);
Row hRow = table.AddRow();
hRow.Cells[1].AddParagraph("Port");
@ -870,7 +951,8 @@ namespace bsmd.ReportGenerator
LADG ladg = message.Elements[i] as LADG;
row.Cells[0].AddParagraph((i + 1).ToString());
row.Cells[1].AddParagraph(ladg.CargoHandlingType.HasValue ? (ladg.CargoHandlingType.Value == 0) ? "Load" : "Discharge" : "");
row.Cells[2].AddParagraph(ladg.CargoCodeNST ?? "");
if(!ladg.CargoCodeNST.IsNullOrEmpty() && cargoCodesNST.ContainsKey(ladg.CargoCodeNST))
row.Cells[2].AddParagraph(cargoCodesNST[ladg.CargoCodeNST].Substring(3));
row.Cells[3].AddParagraph(ladg.CargoNumberOfItems.HasValue ? ladg.CargoNumberOfItems.Value.ToString() : "");
row.Cells[4].AddParagraph(ladg.CargoGrossQuantity_TNE.HasValue ? ladg.CargoGrossQuantity_TNE.Value.ToString("N2") : "");
}
@ -1038,7 +1120,11 @@ namespace bsmd.ReportGenerator
row.Cells[4].AddParagraph(s2sActivity.ShipToShipActivityLocationCoordinatesLongitude.HasValue ? s2sActivity.ShipToShipActivityLocationCoordinatesLongitude.ToString() : "");
row.Cells[5].AddParagraph(s2sActivity.ShipToShipActivityDateFrom.HasValue ? s2sActivity.ShipToShipActivityDateFrom.Value.ToShortDateString() : "");
row.Cells[6].AddParagraph(s2sActivity.ShipToShipActivityDateTo.HasValue ? s2sActivity.ShipToShipActivityDateTo.Value.ToShortDateString() : "");
row.Cells[7].AddParagraph(s2sActivity.ShipToShipActivityType ?? "");
if(!s2sActivity.ShipToShipActivityType.IsNullOrEmpty())
{
if (Int32.TryParse(s2sActivity.ShipToShipActivityType, out int s2sCode) && Edifact8025.ContainsKey(s2sCode))
row.Cells[7].AddParagraph(Edifact8025[s2sCode]);
}
row.Cells[8].AddParagraph(s2sActivity.ShipToShipActivitySecurityMattersToReport ?? "");
}
@ -1052,17 +1138,13 @@ namespace bsmd.ReportGenerator
table.Format.Font.Size = 8;
table.Rows.VerticalAlignment = VerticalAlignment.Center;
table.Borders.Visible = true;
table.Borders.Color = Colors.LightGray;
Column column = table.AddColumn();
column.Width = Unit.FromCentimeter(0.8);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(5);
column = table.AddColumn();
column.Width = Unit.FromCentimeter(1.5);
column = table.AddColumn();
table.AddColumn(20);
table.AddColumn(350);
table.AddColumn(120);
Row hRow = table.AddRow();
hRow.Cells[0].AddParagraph("No.");
hRow.Cells[1].AddParagraph("Name");
hRow.Cells[2].AddParagraph("ETA");
@ -1162,7 +1244,7 @@ namespace bsmd.ReportGenerator
row.Cells[0].AddParagraph("Last port where waste or cargo residues were discharged");
row.Cells[1].AddParagraph("Date of last disposal");
row = table.AddRow();
row.Cells[0].AddParagraph(was.LastWasteDisposalPort ?? "");
row.Cells[0].AddParagraph(LocodeDB.PortNameFromLocode(was.LastWasteDisposalPort) ?? "");
if(was.LastWasteDisposalDate.HasValue)
row.Cells[1].AddParagraph(was.LastWasteDisposalDate?.ToShortDateString());
row = table.AddRow();
@ -1266,7 +1348,7 @@ namespace bsmd.ReportGenerator
row.Cells[2].AddParagraph(waste.WasteDisposalAmount_MTQ.HasValue ? waste.WasteDisposalAmount_MTQ.Value.ToString("N3") : "");
row.Cells[3].AddParagraph(waste.WasteCapacity_MTQ.HasValue ? waste.WasteCapacity_MTQ.Value.ToString("N3") : "");
row.Cells[4].AddParagraph(waste.WasteAmountRetained_MTQ.HasValue ? waste.WasteAmountRetained_MTQ.Value.ToString("N3") : "");
row.Cells[5].AddParagraph(waste.WasteDisposalPort ?? "");
row.Cells[5].AddParagraph(LocodeDB.PortNameFromLocode(waste.WasteDisposalPort) ?? "");
row.Cells[6].AddParagraph(waste.WasteAmountGeneratedTillNextPort_MTQ.HasValue ? waste.WasteAmountGeneratedTillNextPort_MTQ.Value.ToString("N3") : "");
}
}
@ -1286,6 +1368,12 @@ namespace bsmd.ReportGenerator
table.AddColumn(20); // lfd. Nr.
table.AddColumn(50); // Name
table.AddColumn(30); // Flag
table.AddColumn(30); // Gross ton
table.AddColumn(30); // Length
table.AddColumn(30); // Beam
table.AddColumn(60); // Purpose of call
table.AddColumn(35); // Draft
table.AddColumn(70); // Remarks
table.AddColumn(60); // Company
table.AddColumn(70); // Street
table.AddColumn(40); // Postal code
@ -1293,34 +1381,28 @@ namespace bsmd.ReportGenerator
table.AddColumn(60); // Phone
table.AddColumn(60); // Fax
table.AddColumn(70); // EMail
table.AddColumn(30); // Gross ton
table.AddColumn(30); // Length
table.AddColumn(30); // Beam
table.AddColumn(60); // Purpose of call
table.AddColumn(35); // Draft
table.AddColumn(70); // Remarks
// 770
Row opRow = table.AddRow();
opRow.Cells[2].AddParagraph("Operator");
opRow.Cells[2].MergeRight = 8;
opRow.Cells[9].AddParagraph("Operator");
opRow.Cells[9].MergeRight = 6;
Row hRow = table.AddRow();
hRow.Cells[1].AddParagraph("Name");
hRow.Cells[2].AddParagraph("Flag");
hRow.Cells[3].AddParagraph("Company name");
hRow.Cells[4].AddParagraph("Street / No.");
hRow.Cells[5].AddParagraph("Postal Code");
hRow.Cells[6].AddParagraph("Co.");
hRow.Cells[7].AddParagraph("Phone");
hRow.Cells[8].AddParagraph("Fax");
hRow.Cells[9].AddParagraph("Email");
hRow.Cells[10].AddParagraph("Gross ton.");
hRow.Cells[11].AddParagraph("Len (m)");
hRow.Cells[12].AddParagraph("Beam (m)");
hRow.Cells[13].AddParagraph("Purpose of call");
hRow.Cells[14].AddParagraph("Dr. (m)");
hRow.Cells[15].AddParagraph("Remarks");
hRow.Cells[3].AddParagraph("Gross ton.");
hRow.Cells[4].AddParagraph("Len (m)");
hRow.Cells[5].AddParagraph("Beam (m)");
hRow.Cells[6].AddParagraph("Purpose of call");
hRow.Cells[7].AddParagraph("Draft (dm)");
hRow.Cells[8].AddParagraph("Remarks");
hRow.Cells[9].AddParagraph("Company name");
hRow.Cells[10].AddParagraph("Street / No.");
hRow.Cells[11].AddParagraph("Postal Code");
hRow.Cells[12].AddParagraph("Co.");
hRow.Cells[13].AddParagraph("Phone");
hRow.Cells[14].AddParagraph("Fax");
hRow.Cells[15].AddParagraph("Email");
for (int i = 0; i < message.Elements.Count; i++)
{
@ -1329,19 +1411,19 @@ namespace bsmd.ReportGenerator
row.Cells[0].AddParagraph((i + 1).ToString());
row.Cells[1].AddParagraph(towa.TowageOnArrivalName ?? "");
row.Cells[2].AddParagraph(towa.TowageOnArrivalFlag ?? "");
row.Cells[3].AddParagraph(towa.TowageOnArrivalOperatorCompanyName ?? "");
row.Cells[4].AddParagraph(towa.TowageOnArrivalOperatorStreetNameAndNumber);
row.Cells[5].AddParagraph(towa.TowageOnArrivalOperatorPostalCode);
row.Cells[6].AddParagraph(towa.TowageOnArrivalOperatorCountry ?? "");
row.Cells[7].AddParagraph(towa.TowageOnArrivalOperatorPhone);
row.Cells[8].AddParagraph(towa.TowageOnArrivalOperatorFax ?? "");
row.Cells[9].AddParagraph(towa.TowageOnArrivalOperatorEmail ?? "");
row.Cells[10].AddParagraph(towa.TowageOnArrivalGrossTonnage.HasValue ? towa.TowageOnArrivalGrossTonnage.Value.ToString() : "");
row.Cells[11].AddParagraph(towa.TowageOnArrivalLengthOverall_MTR.HasValue ? towa.TowageOnArrivalLengthOverall_MTR.Value.ToString("N1") : "");
row.Cells[12].AddParagraph(towa.TowageOnArrivalBeam_MTR.HasValue ? towa.TowageOnArrivalBeam_MTR.Value.ToString("N1") : "");
row.Cells[13].AddParagraph(towa.TowageOnArrivalPurposeOfCall ?? "");
row.Cells[14].AddParagraph(towa.TowageOnArrivalDraught_DMT.HasValue ? towa.TowageOnArrivalDraught_DMT.Value.ToString("N1") : "");
row.Cells[15].AddParagraph(towa.TowageOnArrivalRemarks ?? "");
row.Cells[3].AddParagraph(towa.TowageOnArrivalGrossTonnage.HasValue ? towa.TowageOnArrivalGrossTonnage.Value.ToString() : "");
row.Cells[4].AddParagraph(towa.TowageOnArrivalLengthOverall_MTR.HasValue ? towa.TowageOnArrivalLengthOverall_MTR.Value.ToString("N1") : "");
row.Cells[5].AddParagraph(towa.TowageOnArrivalBeam_MTR.HasValue ? towa.TowageOnArrivalBeam_MTR.Value.ToString("N1") : "");
row.Cells[6].AddParagraph(towa.TowageOnArrivalPurposeOfCall ?? "");
row.Cells[7].AddParagraph(towa.TowageOnArrivalDraught_DMT.HasValue ? towa.TowageOnArrivalDraught_DMT.Value.ToString("N1") : "");
row.Cells[8].AddParagraph(towa.TowageOnArrivalRemarks ?? "");
row.Cells[9].AddParagraph(towa.TowageOnArrivalOperatorCompanyName ?? "");
row.Cells[10].AddParagraph(towa.TowageOnArrivalOperatorStreetNameAndNumber);
row.Cells[11].AddParagraph(towa.TowageOnArrivalOperatorPostalCode);
row.Cells[12].AddParagraph(towa.TowageOnArrivalOperatorCountry ?? "");
row.Cells[13].AddParagraph(towa.TowageOnArrivalOperatorPhone);
row.Cells[14].AddParagraph(towa.TowageOnArrivalOperatorFax ?? "");
row.Cells[15].AddParagraph(towa.TowageOnArrivalOperatorEmail ?? "");
}
}
@ -1359,37 +1441,37 @@ namespace bsmd.ReportGenerator
table.AddColumn(20); // lfd. Nr.
table.AddColumn(50); // Name
table.AddColumn(30); // Flag
table.AddColumn(60); // Company
table.AddColumn(70); // Street
table.AddColumn(40); // Postal code
table.AddColumn(25); // Country
table.AddColumn(60); // Phone
table.AddColumn(60); // Fax
table.AddColumn(70); // EMail
table.AddColumn(30); // Length
table.AddColumn(30); // Beam
table.AddColumn(35); // Draft
table.AddColumn(160); // Remarks
table.AddColumn(120); // Remarks
table.AddColumn(60); // Company
table.AddColumn(70); // Street
table.AddColumn(40); // Postal code
table.AddColumn(65); // Country
table.AddColumn(60); // Phone
table.AddColumn(60); // Fax
table.AddColumn(70); // EMail
// 770
Row opRow = table.AddRow();
opRow.Cells[2].AddParagraph("Operator");
opRow.Cells[2].MergeRight = 8;
opRow.Cells[7].AddParagraph("Operator");
opRow.Cells[7].MergeRight = 6;
Row hRow = table.AddRow();
hRow.Cells[1].AddParagraph("Name");
hRow.Cells[2].AddParagraph("Flag");
hRow.Cells[3].AddParagraph("Company Name");
hRow.Cells[4].AddParagraph("Street / No.");
hRow.Cells[5].AddParagraph("Postal Code");
hRow.Cells[6].AddParagraph("Co.");
hRow.Cells[7].AddParagraph("Phone");
hRow.Cells[8].AddParagraph("Fax");
hRow.Cells[9].AddParagraph("Email");
hRow.Cells[10].AddParagraph("Len (m)");
hRow.Cells[11].AddParagraph("Beam (m)");
hRow.Cells[12].AddParagraph("Dr. (m)");
hRow.Cells[13].AddParagraph("Remarks");
hRow.Cells[3].AddParagraph("Len (m)");
hRow.Cells[4].AddParagraph("Beam (m)");
hRow.Cells[5].AddParagraph("Draft (dm)");
hRow.Cells[6].AddParagraph("Remarks");
hRow.Cells[7].AddParagraph("Company Name");
hRow.Cells[8].AddParagraph("Street / No.");
hRow.Cells[9].AddParagraph("Postal Code");
hRow.Cells[10].AddParagraph("Co.");
hRow.Cells[11].AddParagraph("Phone");
hRow.Cells[12].AddParagraph("Fax");
hRow.Cells[13].AddParagraph("Email");
for (int i = 0; i < message.Elements.Count; i++)
{
@ -1398,17 +1480,17 @@ namespace bsmd.ReportGenerator
row.Cells[0].AddParagraph((i + 1).ToString());
row.Cells[1].AddParagraph(towd.TowageOnDepartureName ?? "");
row.Cells[2].AddParagraph(towd.TowageOnDepartureFlag ?? "");
row.Cells[3].AddParagraph(towd.TowageOnDepartureOperatorCompanyName ?? "");
row.Cells[4].AddParagraph(towd.TowageOnDepartureOperatorStreetNameAndNumber);
row.Cells[5].AddParagraph(towd.TowageOnDepartureOperatorPostalCode);
row.Cells[6].AddParagraph(towd.TowageOnDepartureOperatorCountry ?? "");
row.Cells[7].AddParagraph(towd.TowageOnDepartureOperatorPhone);
row.Cells[8].AddParagraph(towd.TowageOnDepartureOperatorFax ?? "");
row.Cells[9].AddParagraph(towd.TowageOnDepartureOperatorEmail ?? "");
row.Cells[10].AddParagraph(towd.TowageOnDepartureLengthOverall_MTR.HasValue ? towd.TowageOnDepartureLengthOverall_MTR.Value.ToString() : "");
row.Cells[11].AddParagraph(towd.TowageOnDepartureBeam_MTR.HasValue ? towd.TowageOnDepartureBeam_MTR.Value.ToString() : "");
row.Cells[12].AddParagraph(towd.TowageOnDepartureDraught_DMT.HasValue ? towd.TowageOnDepartureDraught_DMT.Value.ToString() : "");
row.Cells[13].AddParagraph(towd.TowageOnDepartureRemarks ?? "");
row.Cells[3].AddParagraph(towd.TowageOnDepartureLengthOverall_MTR.HasValue ? towd.TowageOnDepartureLengthOverall_MTR.Value.ToString() : "");
row.Cells[4].AddParagraph(towd.TowageOnDepartureBeam_MTR.HasValue ? towd.TowageOnDepartureBeam_MTR.Value.ToString() : "");
row.Cells[5].AddParagraph(towd.TowageOnDepartureDraught_DMT.HasValue ? towd.TowageOnDepartureDraught_DMT.Value.ToString() : "");
row.Cells[6].AddParagraph(towd.TowageOnDepartureRemarks ?? "");
row.Cells[7].AddParagraph(towd.TowageOnDepartureOperatorCompanyName ?? "");
row.Cells[8].AddParagraph(towd.TowageOnDepartureOperatorStreetNameAndNumber);
row.Cells[9].AddParagraph(towd.TowageOnDepartureOperatorPostalCode);
row.Cells[10].AddParagraph(towd.TowageOnDepartureOperatorCountry ?? "");
row.Cells[11].AddParagraph(towd.TowageOnDepartureOperatorPhone);
row.Cells[12].AddParagraph(towd.TowageOnDepartureOperatorFax ?? "");
row.Cells[13].AddParagraph(towd.TowageOnDepartureOperatorEmail ?? "");
}
}
@ -1476,8 +1558,8 @@ namespace bsmd.ReportGenerator
Row row = table.AddRow();
Cell cell = row.Cells[0];
Paragraph aParagraph = cell.AddParagraph(elem.Key);
if (elem.Value.IsNullOrEmpty())
aParagraph.Style = "Gray";
// if (elem.Value.IsNullOrEmpty()) // 14.6.21: CH: nichts ausgrauen
// aParagraph.Style = "Gray";
string val = elem.Value;
// funktioniert leider nicht, müsste das auf PDFsharp umstellen (http://www.pdfsharp.net/wiki/Unicode-sample.ashx)
if (val == "True") val = "Yes"; // @"\u2611"; // unicode ballot box with check
@ -1526,6 +1608,11 @@ namespace bsmd.ReportGenerator
// wieder etwas funktioniert es ggf. hier nicht mehr. Das ist leider aufwändig zu ändern, man müsste die Report
// Erzeugung komplett umbauen
if(propertyName.Contains("fumigated", StringComparison.OrdinalIgnoreCase))
{
int bla = 23;
}
switch(propertyName)
{
case "PackageType":
@ -1543,9 +1630,12 @@ namespace bsmd.ReportGenerator
}
}
break;
case "Ship Type":
case "ShipType":
if (LocalizedLookup.getVesselTypes().ContainsKey(value))
result = string.Format("{0} - {1}", value, LocalizedLookup.getVesselTypes()[value]);
{
string codeAndText = LocalizedLookup.getVesselTypes()[value];
result = codeAndText.Substring(codeAndText.IndexOf(' ')); // snip off the code
}
break;
case "INFShipClass":
case "INF-Ship-Class":
@ -1582,7 +1672,7 @@ namespace bsmd.ReportGenerator
}
}
break;
case "General Description of Cargo":
case "GeneralDescriptionOfCargo":
{
switch(value)
{
@ -1620,13 +1710,33 @@ namespace bsmd.ReportGenerator
}
}
break;
case "TankerHullConfiguration":
{
switch (value)
{
case "0": result = "Single hull"; break;
case "1": result = "Single hull with SBT"; break;
case "2": result = "Double hull"; break;
}
}
break;
case "ConditionCargoBallastTanks":
{
switch(value)
{
case "0": result = "Full"; break;
case "1": result = "Empty"; break;
case "2": result = "Inerted"; break;
}
}
break;
default:
break;
}
if(propertyName.Contains("flag", StringComparison.OrdinalIgnoreCase))
if (LocalizedLookup.getNationalities().ContainsKey(value))
result = LocalizedLookup.getNationalities()[value];
result = LocalizedLookup.getNationalities()[value].Substring(3); // remove code from result
if(propertyName.Contains("port", StringComparison.OrdinalIgnoreCase))
{
@ -1639,9 +1749,8 @@ namespace bsmd.ReportGenerator
}
if (propertyName.Contains("nst2007", StringComparison.OrdinalIgnoreCase))
if (LocalizedLookup.getCargoCodesNST().ContainsKey(value))
result = LocalizedLookup.getCargoCodesNST()[value];
if (cargoCodesNST.ContainsKey(value))
result = cargoCodesNST[value];
return result;
}

View File

@ -12,7 +12,7 @@ namespace bsmd.ReportGenerator.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@ -23,24 +23,6 @@ namespace bsmd.ReportGenerator.Properties {
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("replace me!")]
public string ConnectionString {
get {
return ((string)(this["ConnectionString"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string OutputDirectory {
get {
return ((string)(this["OutputDirectory"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("300")]
@ -106,15 +88,6 @@ namespace bsmd.ReportGenerator.Properties {
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string LogoPath {
get {
return ((string)(this["LogoPath"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
@ -123,5 +96,34 @@ namespace bsmd.ReportGenerator.Properties {
return ((bool)(this["DeleteFileAfterSend"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=E:\\DATA\\DB\\NSW.MDF;Integrated " +
"Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;Appl" +
"icationIntent=ReadWrite;MultiSubnetFailover=False")]
public string ConnectionString {
get {
return ((string)(this["ConnectionString"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("E:\\temp")]
public string OutputDirectory {
get {
return ((string)(this["OutputDirectory"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("E:\\svnlager\\BSMD\\nsw\\Source\\misc\\Logo.gif")]
public string LogoPath {
get {
return ((string)(this["LogoPath"]));
}
}
}
}

View File

@ -2,12 +2,6 @@
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="bsmd.ReportGenerator.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="ConnectionString" Type="System.String" Scope="Application">
<Value Profile="(Default)">replace me!</Value>
</Setting>
<Setting Name="OutputDirectory" Type="System.String" Scope="Application">
<Value Profile="(Default)" />
</Setting>
<Setting Name="SleepSeconds" Type="System.Int32" Scope="Application">
<Value Profile="(Default)">300</Value>
</Setting>
@ -32,11 +26,17 @@
<Setting Name="Sender" Type="System.String" Scope="Application">
<Value Profile="(Default)">donotreply@bsmd.de</Value>
</Setting>
<Setting Name="LogoPath" Type="System.String" Scope="Application">
<Value Profile="(Default)" />
</Setting>
<Setting Name="DeleteFileAfterSend" Type="System.Boolean" Scope="Application">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConnectionString" Type="System.String" Scope="Application">
<Value Profile="(Default)">Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=E:\DATA\DB\NSW.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False</Value>
</Setting>
<Setting Name="OutputDirectory" Type="System.String" Scope="Application">
<Value Profile="(Default)">E:\temp</Value>
</Setting>
<Setting Name="LogoPath" Type="System.String" Scope="Application">
<Value Profile="(Default)">E:\svnlager\BSMD\nsw\Source\misc\Logo.gif</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -173,6 +173,7 @@ namespace bsmd.database
}
}
/*
public override List<IMessageParagraph> ChildParagraphs
{
get
@ -183,6 +184,7 @@ namespace bsmd.database
return result;
}
}
*/
#endregion

View File

@ -401,7 +401,7 @@ namespace bsmd.database
}
else
{
value = ((DateTime)propValue).ToLocalTime().ToString(); // perform UTC-LocalTime Conversion
value = ((DateTime)propValue).ToLocalTime().ToString("g"); // perform UTC-LocalTime Conversion (no seconds)
}
}
else

View File

@ -705,6 +705,13 @@ namespace bsmd.database
public void DeleteElements()
{
foreach (MessageError me in ErrorList)
DBManager.Instance.Delete(me);
foreach (MessageViolation mv in ViolationList)
DBManager.Instance.Delete(mv);
foreach (SystemError se in SystemErrorList)
DBManager.Instance.Delete(se);
foreach (DatabaseEntity dbEntity in this.Elements)
{
if (dbEntity is ISublistContainer sublistContainer)

View File

@ -88,7 +88,7 @@ namespace bsmd.database
break;
}
query += " ORDER BY CAST(Identifier AS INT)";
query += " ORDER BY TRY_CAST(Identifier AS INT)";
cmd.CommandText = query;
}

Binary file not shown.