Version 3.3.6: Anspassungen Excel Verarbeitung, CREWD / PASD, Mail-Subject und kleinere Verbesserungen
This commit is contained in:
parent
b4a4f1167b
commit
48864ded81
26
nsw/Source/SQL/Update_3.5.2_To_3.5.3.sql
Normal file
26
nsw/Source/SQL/Update_3.5.2_To_3.5.3.sql
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
PRINT N'Altering [dbo].[LADG]...';
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[LADG] ALTER COLUMN [CargoCodeNST] NVARCHAR (255) NULL;
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
PRINT N'Altering [dbo].[Waste]...';
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[Waste] ALTER COLUMN [WasteType] INT NULL;
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
PRINT N'Altering [dbo].[CREW]...';
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[CREW] ADD [IsDeparture] BIT NULL;
|
||||||
|
GO
|
||||||
|
UPDATE [dbo].[CREW] SET IsDeparture = 0;
|
||||||
|
GO
|
||||||
|
|
||||||
|
PRINT N'Altering [dbo].[PAS]...';
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[PAS] ADD [IsDeparture] BIT NULL;
|
||||||
|
GO
|
||||||
|
UPDATE [dbo].[PAS] SET IsDeparture = 0;
|
||||||
|
GO
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string attachmentLocalPath = null;
|
string attachmentLocalPath = null;
|
||||||
string mailSender = "";
|
string mailSender = "";
|
||||||
string receiptSubject = "NSW Sheet Service Status INFO";
|
string receiptSubject = "NSW Sheet Service Status INFO";
|
||||||
|
string mailSubject = "";
|
||||||
|
|
||||||
using (BSMDPopClient bsmdPopClient = new BSMDPopClient())
|
using (BSMDPopClient bsmdPopClient = new BSMDPopClient())
|
||||||
{
|
{
|
||||||
@ -84,7 +84,7 @@ namespace bsmd.ExcelReadService
|
|||||||
// --- END --------------- TEST
|
// --- END --------------- TEST
|
||||||
|
|
||||||
// check and download next e-Mail, saving attachment
|
// check and download next e-Mail, saving attachment
|
||||||
while (bsmdPopClient.ReceiveSingleMail(out attachmentLocalPath, out messageId, out mailSender))
|
while (bsmdPopClient.ReceiveSingleMail(out attachmentLocalPath, out messageId, out mailSender, out mailSubject))
|
||||||
{
|
{
|
||||||
|
|
||||||
bool readResult;
|
bool readResult;
|
||||||
@ -141,10 +141,11 @@ namespace bsmd.ExcelReadService
|
|||||||
string shipname = DBManager.Instance.GetShipNameFromCore(messageCore);
|
string shipname = DBManager.Instance.GetShipNameFromCore(messageCore);
|
||||||
if (shipname.IsNullOrEmpty()) shipname = messageCore.IMO;
|
if (shipname.IsNullOrEmpty()) shipname = messageCore.IMO;
|
||||||
|
|
||||||
string subject = string.Format("{0}: {1}", Properties.Settings.Default.SendEMailSubject, shipname);
|
if(mailSubject.IsNullOrEmpty())
|
||||||
|
mailSubject = string.Format("{0}: {1}", Properties.Settings.Default.SendEMailSubject, shipname);
|
||||||
|
|
||||||
// send reply sheet back to sender
|
// send reply sheet back to sender
|
||||||
BSMDMail.SendNSWReportWithAttachments(subject, localConfirmationSheets, mailSender);
|
BSMDMail.SendNSWReportWithAttachments(mailSubject, localConfirmationSheets, mailSender);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,6 +30,10 @@ namespace bsmd.ExcelReadService
|
|||||||
private Dictionary<string, Name> _nameDict;
|
private Dictionary<string, Name> _nameDict;
|
||||||
|
|
||||||
internal enum ReadState { NONE, OK, WARN, FAIL };
|
internal enum ReadState { NONE, OK, WARN, FAIL };
|
||||||
|
internal enum CountryMode { NONE, DE, DK };
|
||||||
|
|
||||||
|
private CountryMode _countryMode = CountryMode.NONE;
|
||||||
|
|
||||||
|
|
||||||
public ExcelReader(string filePath)
|
public ExcelReader(string filePath)
|
||||||
{
|
{
|
||||||
@ -48,8 +52,13 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
internal Confirmation Conf { get; set; }
|
internal Confirmation Conf { get; set; }
|
||||||
|
|
||||||
|
internal CountryMode Mode { get { return _countryMode; } }
|
||||||
|
|
||||||
internal void SetConfirmation(System.Collections.Specialized.StringCollection templatePaths)
|
internal void SetConfirmation(System.Collections.Specialized.StringCollection templatePaths)
|
||||||
{
|
{
|
||||||
|
if (templatePaths == Properties.Settings.Default.ConfirmationDE) _countryMode = CountryMode.DE;
|
||||||
|
if (templatePaths == Properties.Settings.Default.ConfirmationDK) _countryMode = CountryMode.DK;
|
||||||
|
|
||||||
this.Conf = new Confirmation(templatePaths, _excelApp);
|
this.Conf = new Confirmation(templatePaths, _excelApp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -523,6 +532,17 @@ namespace bsmd.ExcelReadService
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal double ReadNumberDefaultZero(string lookup)
|
||||||
|
{
|
||||||
|
double? result = this.ReadNumber(lookup);
|
||||||
|
if(!result.HasValue)
|
||||||
|
{
|
||||||
|
result = 0;
|
||||||
|
this.Conf.ConfirmNumber(lookup, 0, ReadState.WARN);
|
||||||
|
}
|
||||||
|
return result.Value;
|
||||||
|
}
|
||||||
|
|
||||||
internal bool? ReadBoolean(string lookup)
|
internal bool? ReadBoolean(string lookup)
|
||||||
{
|
{
|
||||||
string val = this.ReadText(lookup);
|
string val = this.ReadText(lookup);
|
||||||
|
|||||||
@ -350,6 +350,7 @@ namespace bsmd.ExcelReadService
|
|||||||
}
|
}
|
||||||
HAZ haza = hazaMessage.Elements[0] as HAZ;
|
HAZ haza = hazaMessage.Elements[0] as HAZ;
|
||||||
|
|
||||||
|
haza.NoDPGOnBoardOnArrival = !reader.ReadBoolean("HAZA.DGOnBoard");
|
||||||
haza.DPGManifestOnBoardOnArrival = reader.ReadBoolean("HAZA.DPGManifestOnBoardOnArrival");
|
haza.DPGManifestOnBoardOnArrival = reader.ReadBoolean("HAZA.DPGManifestOnBoardOnArrival");
|
||||||
haza.DPGContactFamilyName = reader.ReadText("HAZA.DPGContactFamilyName");
|
haza.DPGContactFamilyName = reader.ReadText("HAZA.DPGContactFamilyName");
|
||||||
reader.Conf.ConfirmText("HAZA.DPGContactFamilyName", haza.DPGContactFamilyName, haza.DPGContactFamilyName.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
|
reader.Conf.ConfirmText("HAZA.DPGContactFamilyName", haza.DPGContactFamilyName, haza.DPGContactFamilyName.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
|
||||||
@ -625,6 +626,7 @@ namespace bsmd.ExcelReadService
|
|||||||
}
|
}
|
||||||
HAZ hazd = hazdMessage.Elements[0] as HAZ;
|
HAZ hazd = hazdMessage.Elements[0] as HAZ;
|
||||||
|
|
||||||
|
hazd.NoDPGOnBoardOnArrival = !reader.ReadBoolean("HAZD.DGOnBoard");
|
||||||
hazd.DPGManifestOnBoardOnArrival = reader.ReadBoolean("HAZD.DPGManifestOnBoardOnDeparture");
|
hazd.DPGManifestOnBoardOnArrival = reader.ReadBoolean("HAZD.DPGManifestOnBoardOnDeparture");
|
||||||
hazd.DPGContactFamilyName = reader.ReadText("HAZD.DPGContactFamilyName");
|
hazd.DPGContactFamilyName = reader.ReadText("HAZD.DPGContactFamilyName");
|
||||||
reader.Conf.ConfirmText("HAZD.DPGContactFamilyName", hazd.DPGContactFamilyName, hazd.DPGContactFamilyName.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
|
reader.Conf.ConfirmText("HAZD.DPGContactFamilyName", hazd.DPGContactFamilyName, hazd.DPGContactFamilyName.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
|
||||||
@ -1130,7 +1132,8 @@ namespace bsmd.ExcelReadService
|
|||||||
// Waste 1 - 15
|
// Waste 1 - 15
|
||||||
for (int i = 1; i <= was.NumberOfExcelRows; i++)
|
for (int i = 1; i <= was.NumberOfExcelRows; i++)
|
||||||
{
|
{
|
||||||
// string wastetype = string.Format("WAS.WasteType_{0}", i);
|
string wastetype = string.Format("WAS.WasteType_{0}", i);
|
||||||
|
string wasteCode = string.Format("WAS.WasteCode_{0}", i);
|
||||||
string wasteDescription = string.Format("WAS.WasteDescription_{0}", i);
|
string wasteDescription = string.Format("WAS.WasteDescription_{0}", i);
|
||||||
string wasteAmount = string.Format("WAS.WasteDisposalAmount_MTQ_{0}", i);
|
string wasteAmount = string.Format("WAS.WasteDisposalAmount_MTQ_{0}", i);
|
||||||
string wasteCapacity = string.Format("WAS.WasteCapacity_MTQ_{0}", i);
|
string wasteCapacity = string.Format("WAS.WasteCapacity_MTQ_{0}", i);
|
||||||
@ -1148,21 +1151,33 @@ namespace bsmd.ExcelReadService
|
|||||||
was.Waste.Add(waste);
|
was.Waste.Add(waste);
|
||||||
}
|
}
|
||||||
|
|
||||||
waste.WasteType = (byte)i;
|
waste.WasteType = (int?) reader.ReadNumber(wasteCode);
|
||||||
|
reader.Conf.ConfirmText(wastetype, waste.WasteTypeDisplayV4, ExcelReader.ReadState.OK);
|
||||||
|
|
||||||
|
reader.Conf.ConfirmNumber(wastetype, waste.WasteType, ExcelReader.ReadState.OK);
|
||||||
waste.WasteDescription = reader.ReadText(wasteDescription);
|
waste.WasteDescription = reader.ReadText(wasteDescription);
|
||||||
if (waste.WasteDescription.IsNullOrEmpty())
|
if (waste.WasteDescription.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
if (reader.Mode == ExcelReader.CountryMode.DE)
|
||||||
{
|
{
|
||||||
if ((i == 3) || (i == 8) || (i == 9)) waste.WasteDescription = "-";
|
if ((i == 3) || (i == 8) || (i == 9)) waste.WasteDescription = "-";
|
||||||
}
|
}
|
||||||
reader.Conf.ConfirmText(wasteDescription, waste.WasteDescription, ExcelReader.ReadState.OK);
|
else
|
||||||
waste.WasteDisposalAmount_MTQ = reader.ReadNumber(wasteAmount);
|
{
|
||||||
waste.WasteCapacity_MTQ = reader.ReadNumber(wasteCapacity);
|
waste.WasteDescription = "-";
|
||||||
waste.WasteAmountRetained_MTQ = reader.ReadNumber(wasteRetained);
|
}
|
||||||
|
}
|
||||||
|
reader.Conf.ConfirmText(wasteDescription, waste.WasteDescription, waste.WasteDescription.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
|
||||||
|
waste.WasteDisposalAmount_MTQ = reader.ReadNumberDefaultZero(wasteAmount);
|
||||||
|
waste.WasteCapacity_MTQ = reader.ReadNumberDefaultZero(wasteCapacity);
|
||||||
|
waste.WasteAmountRetained_MTQ = reader.ReadNumberDefaultZero(wasteRetained);
|
||||||
|
|
||||||
waste.WasteDisposalPort = reader.ReadText(wastePort); // TODO: check for LOCODE?
|
waste.WasteDisposalPort = reader.ReadText(wastePort); // TODO: check for LOCODE?
|
||||||
reader.Conf.ConfirmText(wastePort, waste.WasteDisposalPort, ExcelReader.ReadState.OK);
|
if (waste.WasteDisposalPort.IsNullOrEmpty()) waste.WasteDisposalPort = "ZZUKN";
|
||||||
waste.WasteAmountGeneratedTillNextPort_MTQ = reader.ReadNumber(amountGen);
|
reader.Conf.ConfirmText(wastePort, waste.WasteDisposalPort, waste.WasteDisposalPort.Equals("ZZUKN") ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
|
||||||
|
waste.WasteAmountGeneratedTillNextPort_MTQ = reader.ReadNumberDefaultZero(amountGen);
|
||||||
waste.WasteDisposedAtLastPort_MTQ = reader.ReadNumber(wasteDis);
|
waste.WasteDisposedAtLastPort_MTQ = reader.ReadNumber(wasteDis);
|
||||||
// empty wastes not removed, are required elements!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1707,6 +1722,13 @@ namespace bsmd.ExcelReadService
|
|||||||
}
|
}
|
||||||
|
|
||||||
ladg.CargoCodeNST = reader.ReadText(lnType);
|
ladg.CargoCodeNST = reader.ReadText(lnType);
|
||||||
|
// Cargo Type Freitext in DK
|
||||||
|
if(reader.Mode == ExcelReader.CountryMode.DK)
|
||||||
|
{
|
||||||
|
reader.Conf.ConfirmText(lnType, ladg.CargoCodeNST, ladg.CargoCodeNST.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
|
||||||
|
}
|
||||||
|
if (reader.Mode == ExcelReader.CountryMode.DE)
|
||||||
|
{
|
||||||
if ((ladg.CargoCodeNST != null) && (ladg.CargoCodeNST.Length == 1))
|
if ((ladg.CargoCodeNST != null) && (ladg.CargoCodeNST.Length == 1))
|
||||||
ladg.CargoCodeNST = "0" + ladg.CargoCodeNST;
|
ladg.CargoCodeNST = "0" + ladg.CargoCodeNST;
|
||||||
|
|
||||||
@ -1714,11 +1736,12 @@ namespace bsmd.ExcelReadService
|
|||||||
{
|
{
|
||||||
ladg.CargoCodeNST = null; // stupid validation
|
ladg.CargoCodeNST = null; // stupid validation
|
||||||
reader.Conf.ConfirmText(lnType, null, ExcelReader.ReadState.WARN);
|
reader.Conf.ConfirmText(lnType, null, ExcelReader.ReadState.WARN);
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
reader.Conf.ConfirmText(lnType, ladg.CargoCodeNST, ExcelReader.ReadState.OK);
|
reader.Conf.ConfirmText(lnType, ladg.CargoCodeNST, ExcelReader.ReadState.OK);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ladg.CargoNumberOfItems = (int?) reader.ReadNumber(lnCNOI);
|
ladg.CargoNumberOfItems = (int?) reader.ReadNumber(lnCNOI);
|
||||||
ladg.CargoGrossQuantity_TNE = reader.ReadNumber(lnCGQ);
|
ladg.CargoGrossQuantity_TNE = reader.ReadNumber(lnCGQ);
|
||||||
@ -1801,6 +1824,63 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CREW DEPARTURE
|
||||||
|
crewMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.CREWD);
|
||||||
|
for (int i = 0; i < crewMessage.NumberOfExcelRows; i++)
|
||||||
|
{
|
||||||
|
string crewLastName = string.Format("CREWD.CrewMemberLastName_{0}", i + 1);
|
||||||
|
string crewFirstName = string.Format("CREWD.CrewMemberFirstName_{0}", i + 1);
|
||||||
|
string crewGender = string.Format("CREWD.CrewMemberGender_{0}", i + 1);
|
||||||
|
string crewNationality = string.Format("CREWD.CrewMemberNationality_{0}", i + 1);
|
||||||
|
string crewDuty = string.Format("CREWD.CrewMemberDuty_{0}", i + 1);
|
||||||
|
string crewPlaceOfBirth = string.Format("CREWD.CrewMemberPlaceOfBirth_{0}", i + 1);
|
||||||
|
string crewDateOfBirth = string.Format("CREWD.CrewMemberDateOfBirth_{0}", i + 1);
|
||||||
|
string crewIdentDocType = string.Format("CREWD.CrewMemberIdentityDocumentType_{0}", i + 1);
|
||||||
|
string crewIdentDocId = string.Format("CREWD.CrewMemberIdentityDocumentId_{0}", i + 1);
|
||||||
|
string crewVisaNo = string.Format("CREWD.CrewMemberVisaNumber_{0}", i + 1);
|
||||||
|
|
||||||
|
string lastName = reader.ReadText(crewLastName);
|
||||||
|
if (!lastName.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
CREWD crew = crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as CREWD;
|
||||||
|
if (crew == null)
|
||||||
|
{
|
||||||
|
crew = new CREWD();
|
||||||
|
crew.Identifier = (i + 1).ToString();
|
||||||
|
crew.MessageHeader = crewMessage;
|
||||||
|
crewMessage.Elements.Add(crew);
|
||||||
|
}
|
||||||
|
|
||||||
|
crew.IsDeparture = true;
|
||||||
|
crew.CrewMemberLastName = lastName;
|
||||||
|
reader.Conf.ConfirmText(crewLastName, lastName, ExcelReader.ReadState.OK);
|
||||||
|
crew.CrewMemberFirstName = reader.ReadText(crewFirstName);
|
||||||
|
reader.Conf.ConfirmText(crewFirstName, crew.CrewMemberFirstName, ExcelReader.ReadState.OK);
|
||||||
|
crew.CrewMemberGender = reader.ReadGender(crewGender);
|
||||||
|
crew.CrewMemberDuty = reader.ReadText(crewDuty);
|
||||||
|
reader.Conf.ConfirmText(crewDuty, crew.CrewMemberDuty, ExcelReader.ReadState.OK);
|
||||||
|
|
||||||
|
crew.CrewMemberNationality = reader.ReadText(crewNationality);
|
||||||
|
if (!crew.CrewMemberNationality.IsNullOrEmpty() && (crew.CrewMemberNationality.Length > 2))
|
||||||
|
reader.Conf.ConfirmText(crewNationality, crew.CrewMemberNationality, ExcelReader.ReadState.FAIL);
|
||||||
|
else
|
||||||
|
reader.Conf.ConfirmText(crewNationality, crew.CrewMemberNationality, ExcelReader.ReadState.OK);
|
||||||
|
|
||||||
|
crew.CrewMemberPlaceOfBirth = reader.ReadText(crewPlaceOfBirth);
|
||||||
|
reader.Conf.ConfirmText(crewPlaceOfBirth, crew.CrewMemberPlaceOfBirth, ExcelReader.ReadState.OK);
|
||||||
|
|
||||||
|
crew.CrewMemberDateOfBirth = reader.ReadDate(crewDateOfBirth);
|
||||||
|
|
||||||
|
crew.CrewMemberIdentityDocumentType = reader.ReadIdentityDocumentType(crewIdentDocType);
|
||||||
|
crew.CrewMemberIdentityDocumentId = reader.ReadText(crewIdentDocId);
|
||||||
|
reader.Conf.ConfirmText(crewIdentDocId, crew.CrewMemberIdentityDocumentId, ExcelReader.ReadState.OK);
|
||||||
|
|
||||||
|
crew.CrewMemberVisaNumber = reader.ReadText(crewVisaNo);
|
||||||
|
reader.Conf.ConfirmText(crewVisaNo, crew.CrewMemberVisaNumber, ExcelReader.ReadState.OK);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -1863,6 +1943,65 @@ namespace bsmd.ExcelReadService
|
|||||||
reader.Conf.ConfirmText(pasVisaNo, pas.PassengerVisaNumber, ExcelReader.ReadState.OK);
|
reader.Conf.ConfirmText(pasVisaNo, pas.PassengerVisaNumber, ExcelReader.ReadState.OK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PASSENGER DEPARTURE
|
||||||
|
pasMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.PASD);
|
||||||
|
for (int i = 0; i < pasMessage.NumberOfExcelRows; i++)
|
||||||
|
{
|
||||||
|
string pasLastName = string.Format("PASD.PassengerLastName_{0}", i + 1);
|
||||||
|
string pasFirstName = string.Format("PASD.PassengerFirstName_{0}", i + 1);
|
||||||
|
string pasGender = string.Format("PASD.PassengerGender_{0}", i + 1);
|
||||||
|
string pasNationality = string.Format("PASD.PassengerNationality_{0}", i + 1);
|
||||||
|
string pasEmbarkation = string.Format("PASD.PassengerPortOfEmbarkation_{0}", i + 1);
|
||||||
|
string pasDebarkation = string.Format("PASD.PassengerPortOfDisembarkation_{0}", i + 1);
|
||||||
|
string pasTransit = string.Format("PASD.PassengerInTransit_{0}", i + 1);
|
||||||
|
string pasPlaceOfBirth = string.Format("PASD.PassengerPlaceOfBirth_{0}", i + 1);
|
||||||
|
string pasDateOfBirth = string.Format("PASD.PassengerDateOfBirth_{0}", i + 1);
|
||||||
|
string pasIdentDocType = string.Format("PASD.PassengerIdentityDocumentType_{0}", i + 1);
|
||||||
|
string pasIdentDocId = string.Format("PASD.PassengerIdentityDocumentId_{0}", i + 1);
|
||||||
|
string pasVisaNo = string.Format("PASD.PassengerVisaNumber_{0}", i + 1);
|
||||||
|
|
||||||
|
string lastName = reader.ReadText(pasLastName);
|
||||||
|
if (!lastName.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
PASD pas = pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as PASD;
|
||||||
|
if (pas == null)
|
||||||
|
{
|
||||||
|
pas = new PASD();
|
||||||
|
pas.Identifier = (i + 1).ToString();
|
||||||
|
pas.MessageHeader = pasMessage;
|
||||||
|
pasMessage.Elements.Add(pas);
|
||||||
|
}
|
||||||
|
|
||||||
|
pas.IsDeparture = true;
|
||||||
|
|
||||||
|
pas.PassengerLastName = lastName;
|
||||||
|
reader.Conf.ConfirmText(pasLastName, lastName, ExcelReader.ReadState.OK);
|
||||||
|
pas.PassengerFirstName = reader.ReadText(pasFirstName);
|
||||||
|
reader.Conf.ConfirmText(pasFirstName, pas.PassengerFirstName, ExcelReader.ReadState.OK);
|
||||||
|
pas.PassengerGender = reader.ReadGender(pasGender);
|
||||||
|
pas.PassengerNationality = reader.ReadText(pasNationality);
|
||||||
|
if (!pas.PassengerNationality.IsNullOrEmpty() && pas.PassengerNationality.Length > 2)
|
||||||
|
reader.Conf.ConfirmText(pasNationality, pas.PassengerNationality, ExcelReader.ReadState.FAIL);
|
||||||
|
else
|
||||||
|
reader.Conf.ConfirmText(pasNationality, pas.PassengerNationality, ExcelReader.ReadState.OK);
|
||||||
|
// TODO: Nicht klar ob hier LOCODEs kommen oder nicht
|
||||||
|
pas.PassengerPortOfEmbarkation = reader.ReadTextNoWhitespace(pasEmbarkation);
|
||||||
|
reader.Conf.ConfirmText(pasEmbarkation, pas.PassengerPortOfEmbarkation, ExcelReader.ReadState.OK);
|
||||||
|
pas.PassengerPortOfDisembarkation = reader.ReadTextNoWhitespace(pasDebarkation);
|
||||||
|
reader.Conf.ConfirmText(pasDebarkation, pas.PassengerPortOfDisembarkation, ExcelReader.ReadState.OK);
|
||||||
|
pas.PassengerInTransit = reader.ReadBoolean(pasTransit);
|
||||||
|
pas.PassengerPlaceOfBirth = reader.ReadText(pasPlaceOfBirth);
|
||||||
|
reader.Conf.ConfirmText(pasPlaceOfBirth, pas.PassengerPlaceOfBirth, ExcelReader.ReadState.OK);
|
||||||
|
pas.PassengerDateOfBirth = reader.ReadDate(pasDateOfBirth);
|
||||||
|
pas.PassengerIdentityDocumentType = reader.ReadIdentityDocumentType(pasIdentDocType);
|
||||||
|
pas.PassengerIdentityDocumentId = reader.ReadText(pasIdentDocId);
|
||||||
|
reader.Conf.ConfirmText(pasIdentDocId, pas.PassengerIdentityDocumentId, ExcelReader.ReadState.OK);
|
||||||
|
pas.PassengerVisaNumber = reader.ReadText(pasVisaNo);
|
||||||
|
reader.Conf.ConfirmText(pasVisaNo, pas.PassengerVisaNumber, ExcelReader.ReadState.OK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -94,6 +94,8 @@ namespace bsmd.database
|
|||||||
[MaxLength(100)]
|
[MaxLength(100)]
|
||||||
public string CrewMemberDuty { get; set; }
|
public string CrewMemberDuty { get; set; }
|
||||||
|
|
||||||
|
public bool IsDeparture { get; set; }
|
||||||
|
|
||||||
public string Identifier { get; set; }
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -125,13 +127,14 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P10", this.CrewMemberVisaNumber);
|
scmd.Parameters.AddWithNullableValue("@P10", this.CrewMemberVisaNumber);
|
||||||
scmd.Parameters.AddWithNullableValue("@P11", this.CrewMemberDuty);
|
scmd.Parameters.AddWithNullableValue("@P11", this.CrewMemberDuty);
|
||||||
scmd.Parameters.AddWithNullableValue("@P12", this.Identifier);
|
scmd.Parameters.AddWithNullableValue("@P12", this.Identifier);
|
||||||
|
scmd.Parameters.AddWithValue("@P13", this.IsDeparture);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, CrewMemberLastName, CrewMemberFirstName, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, CrewMemberLastName, CrewMemberFirstName, " +
|
||||||
"CrewMemberPlaceOfBirth, CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality,CrewMemberIdentityDocumentType, " +
|
"CrewMemberPlaceOfBirth, CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality,CrewMemberIdentityDocumentType, " +
|
||||||
"CrewMemberIdentityDocumentId, CrewMemberVisaNumber, CrewMemberDuty, Identifier) " +
|
"CrewMemberIdentityDocumentId, CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture) " +
|
||||||
"VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12 )", this.Tablename);
|
"VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -139,7 +142,7 @@ namespace bsmd.database
|
|||||||
scmd.CommandText = string.Format("UPDATE {0} SET CrewMemberLastName = @P2, CrewMemberFirstName = @P3, " +
|
scmd.CommandText = string.Format("UPDATE {0} SET CrewMemberLastName = @P2, CrewMemberFirstName = @P3, " +
|
||||||
"CrewMemberPlaceOfBirth = @P4, CrewMemberDateOfBirth = @P5, CrewMemberGender = @P6, CrewMemberNationality = @P7, "+
|
"CrewMemberPlaceOfBirth = @P4, CrewMemberDateOfBirth = @P5, CrewMemberGender = @P6, CrewMemberNationality = @P7, "+
|
||||||
"CrewMemberIdentityDocumentType = @P8, CrewMemberIdentityDocumentId = @P9, CrewMemberVisaNumber = @P10, " +
|
"CrewMemberIdentityDocumentType = @P8, CrewMemberIdentityDocumentId = @P9, CrewMemberVisaNumber = @P10, " +
|
||||||
"CrewMemberDuty = @P11 WHERE Id = @ID", this.Tablename);
|
"CrewMemberDuty = @P11, IsDeparture = @P13 WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,17 +150,17 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, CrewMemberLastName, CrewMemberFirstName, CrewMemberPlaceOfBirth, " +
|
string query = string.Format("SELECT Id, CrewMemberLastName, CrewMemberFirstName, CrewMemberPlaceOfBirth, " +
|
||||||
"CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality, CrewMemberIdentityDocumentType, CrewMemberIdentityDocumentId, " +
|
"CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality, CrewMemberIdentityDocumentType, CrewMemberIdentityDocumentId, " +
|
||||||
"CrewMemberVisaNumber, CrewMemberDuty, Identifier FROM {0}", this.Tablename);
|
"CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
case Message.LoadFilter.MESSAGEHEADER:
|
case Message.LoadFilter.MESSAGEHEADER:
|
||||||
query += " WHERE MessageHeaderId = @MHID";
|
query += " WHERE IsDeparture = 0 AND MessageHeaderId = @MHID";
|
||||||
((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]);
|
((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]);
|
||||||
break;
|
break;
|
||||||
case Message.LoadFilter.ALL:
|
case Message.LoadFilter.ALL:
|
||||||
default:
|
default:
|
||||||
|
query += " WHERE IsDeparture = 0";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,6 +187,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = reader.GetString(9);
|
if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = reader.GetString(9);
|
||||||
if (!reader.IsDBNull(10)) crew.CrewMemberDuty = reader.GetString(10);
|
if (!reader.IsDBNull(10)) crew.CrewMemberDuty = reader.GetString(10);
|
||||||
if (!reader.IsDBNull(11)) crew.Identifier = reader.GetString(11);
|
if (!reader.IsDBNull(11)) crew.Identifier = reader.GetString(11);
|
||||||
|
if (!reader.IsDBNull(12)) crew.IsDeparture = reader.GetBoolean(12);
|
||||||
result.Add(crew);
|
result.Add(crew);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
@ -193,4 +197,36 @@ namespace bsmd.database
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region CREWD
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Helper class to model / filter crew members on departure
|
||||||
|
/// </summary>
|
||||||
|
public class CREWD : CREW
|
||||||
|
{
|
||||||
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
|
{
|
||||||
|
string query = string.Format("SELECT Id, CrewMemberLastName, CrewMemberFirstName, CrewMemberPlaceOfBirth, " +
|
||||||
|
"CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality, CrewMemberIdentityDocumentType, CrewMemberIdentityDocumentId, " +
|
||||||
|
"CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture FROM {0}", this.Tablename);
|
||||||
|
|
||||||
|
switch (filter)
|
||||||
|
{
|
||||||
|
case Message.LoadFilter.MESSAGEHEADER:
|
||||||
|
query += " WHERE IsDeparture = 1 AND MessageHeaderId = @MHID";
|
||||||
|
((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]);
|
||||||
|
break;
|
||||||
|
case Message.LoadFilter.ALL:
|
||||||
|
default:
|
||||||
|
query += " WHERE IsDeparture = 1";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.CommandText = query;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -54,7 +54,9 @@ namespace bsmd.database
|
|||||||
NotificationClass.ATA,
|
NotificationClass.ATA,
|
||||||
NotificationClass.ATD,
|
NotificationClass.ATD,
|
||||||
NotificationClass.AGNT,
|
NotificationClass.AGNT,
|
||||||
NotificationClass.STO
|
NotificationClass.STO,
|
||||||
|
NotificationClass.CREWD,
|
||||||
|
NotificationClass.PASD
|
||||||
});
|
});
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -94,7 +96,9 @@ namespace bsmd.database
|
|||||||
HAZA, // 25
|
HAZA, // 25
|
||||||
HAZD,
|
HAZD,
|
||||||
AGNT,
|
AGNT,
|
||||||
STO // DK - only
|
STO, // DK - only
|
||||||
|
CREWD, // DK - only
|
||||||
|
PASD // DK - only
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum MessageStatus
|
public enum MessageStatus
|
||||||
@ -202,7 +206,7 @@ namespace bsmd.database
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Vorwärts-Referenzen auf die von diesem Header-Element abhängigen speziellen Nachrichten-Datensätzen
|
/// Vorwärts-Referenzen auf die von diesem Header-Element abhängigen speziellen Nachrichten-Datensätzen
|
||||||
/// Folgende Objekte können pro Nachricht n-fach vorkommen
|
/// Folgende Objekte können pro Nachricht n-fach vorkommen
|
||||||
/// BRKA, BRKD, LADG, CREW, PAS, SERV, TOWA, TOWD, STO
|
/// BRKA, BRKD, LADG, CREW, PAS, SERV, TOWA, TOWD, STO, CREWD, PASD
|
||||||
/// sonst hat die Liste immer ein Element
|
/// sonst hat die Liste immer ein Element
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<DatabaseEntity> Elements { get { return this.elements; } }
|
public List<DatabaseEntity> Elements { get { return this.elements; } }
|
||||||
@ -460,7 +464,9 @@ namespace bsmd.database
|
|||||||
case NotificationClass.BKRD: return 5;
|
case NotificationClass.BKRD: return 5;
|
||||||
case NotificationClass.LADG: return 36;
|
case NotificationClass.LADG: return 36;
|
||||||
case NotificationClass.CREW: return 40;
|
case NotificationClass.CREW: return 40;
|
||||||
|
case NotificationClass.CREWD: return 40;
|
||||||
case NotificationClass.PAS: return 30;
|
case NotificationClass.PAS: return 30;
|
||||||
|
case NotificationClass.PASD: return 30;
|
||||||
case NotificationClass.TOWA: return 1;
|
case NotificationClass.TOWA: return 1;
|
||||||
case NotificationClass.TOWD: return 1;
|
case NotificationClass.TOWD: return 1;
|
||||||
case NotificationClass.STO: return 10;
|
case NotificationClass.STO: return 10;
|
||||||
|
|||||||
@ -106,6 +106,9 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string Identifier { get; set; }
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
|
public bool IsDeparture { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public override string Subtitle
|
public override string Subtitle
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@ -137,13 +140,14 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P12", this.PassengerPortOfDisembarkation);
|
scmd.Parameters.AddWithNullableValue("@P12", this.PassengerPortOfDisembarkation);
|
||||||
scmd.Parameters.AddWithNullableValue("@P13", this.PassengerInTransit);
|
scmd.Parameters.AddWithNullableValue("@P13", this.PassengerInTransit);
|
||||||
scmd.Parameters.AddWithNullableValue("@P14", this.Identifier);
|
scmd.Parameters.AddWithNullableValue("@P14", this.Identifier);
|
||||||
|
scmd.Parameters.AddWithValue("@P15", this.IsDeparture);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, PassengerLastName, PassengerFirstName, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, PassengerLastName, PassengerFirstName, " +
|
||||||
"PassengerPlaceOfBirth, PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, " +
|
"PassengerPlaceOfBirth, PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, " +
|
||||||
"PassengerIdentityDocumentId, PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation," +
|
"PassengerIdentityDocumentId, PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation," +
|
||||||
"PassengerInTransit, Identifier) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14 )",
|
"PassengerInTransit, Identifier, IsDeparture) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15 )",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -153,7 +157,7 @@ namespace bsmd.database
|
|||||||
"PassengerPlaceOfBirth = @P4, PassengerDateOfBirth = @P5, PassengerGender = @P6," +
|
"PassengerPlaceOfBirth = @P4, PassengerDateOfBirth = @P5, PassengerGender = @P6," +
|
||||||
"PassengerNationality = @P7, PassengerIdentityDocumentType = @P8, PassengerIdentityDocumentId = @P9, " +
|
"PassengerNationality = @P7, PassengerIdentityDocumentType = @P8, PassengerIdentityDocumentId = @P9, " +
|
||||||
"PassengerVisaNumber = @P10, PassengerPortOfEmbarkation = @P11, PassengerPortOfDisembarkation = @P12, " +
|
"PassengerVisaNumber = @P10, PassengerPortOfEmbarkation = @P11, PassengerPortOfDisembarkation = @P12, " +
|
||||||
"PassengerInTransit = @P13 WHERE Id = @ID", this.Tablename);
|
"PassengerInTransit = @P13, IsDeparture = @P15 WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -161,18 +165,18 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, PassengerLastName, PassengerFirstName, PassengerPlaceOfBirth, " +
|
string query = string.Format("SELECT Id, PassengerLastName, PassengerFirstName, PassengerPlaceOfBirth, " +
|
||||||
"PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " +
|
"PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " +
|
||||||
"PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit, Identifier FROM {0}",
|
"PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit, Identifier, IsDeparture FROM {0}",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
case Message.LoadFilter.MESSAGEHEADER:
|
case Message.LoadFilter.MESSAGEHEADER:
|
||||||
query += "WHERE MessageHeaderId = @MHID";
|
query += " WHERE IsDeparture = 0 AND MessageHeaderId = @MHID";
|
||||||
((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]);
|
((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]);
|
||||||
break;
|
break;
|
||||||
case Message.LoadFilter.ALL:
|
case Message.LoadFilter.ALL:
|
||||||
default:
|
default:
|
||||||
|
query += " WHERE IsDeparture = 0";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -201,6 +205,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(11)) pas.PassengerPortOfDisembarkation = reader.GetString(11);
|
if (!reader.IsDBNull(11)) pas.PassengerPortOfDisembarkation = reader.GetString(11);
|
||||||
if (!reader.IsDBNull(12)) pas.PassengerInTransit = reader.GetBoolean(12);
|
if (!reader.IsDBNull(12)) pas.PassengerInTransit = reader.GetBoolean(12);
|
||||||
if (!reader.IsDBNull(13)) pas.Identifier = reader.GetString(13);
|
if (!reader.IsDBNull(13)) pas.Identifier = reader.GetString(13);
|
||||||
|
if (!reader.IsDBNull(14)) pas.IsDeparture = reader.GetBoolean(14);
|
||||||
result.Add(pas);
|
result.Add(pas);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
@ -223,4 +228,34 @@ namespace bsmd.database
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region class PASD
|
||||||
|
|
||||||
|
public class PASD : PAS
|
||||||
|
{
|
||||||
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
|
{
|
||||||
|
string query = string.Format("SELECT Id, PassengerLastName, PassengerFirstName, PassengerPlaceOfBirth, " +
|
||||||
|
"PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " +
|
||||||
|
"PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit, Identifier, IsDeparture FROM {0}",
|
||||||
|
this.Tablename);
|
||||||
|
|
||||||
|
switch (filter)
|
||||||
|
{
|
||||||
|
case Message.LoadFilter.MESSAGEHEADER:
|
||||||
|
query += " WHERE IsDeparture = 1 AND MessageHeaderId = @MHID";
|
||||||
|
((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]);
|
||||||
|
break;
|
||||||
|
case Message.LoadFilter.ALL:
|
||||||
|
default:
|
||||||
|
query += " WHERE IsDeparture = 1";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.CommandText = query;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
|
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
|
||||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||||
[assembly: AssemblyInformationalVersion("3.3.5")]
|
[assembly: AssemblyInformationalVersion("3.3.6")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014-2016 Informatikbüro Daniel Schick. All rights reserved.")]
|
[assembly: AssemblyCopyright("Copyright © 2014-2016 Informatikbüro Daniel Schick. All rights reserved.")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
@ -1,4 +1,4 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("3.3.5.*")]
|
[assembly: AssemblyVersion("3.3.6.*")]
|
||||||
|
|
||||||
|
|||||||
@ -48,8 +48,36 @@ namespace bsmd.database
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ShowReport]
|
||||||
|
public string WasteTypeDisplayV4
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!WasteType.HasValue) return "";
|
||||||
|
switch(WasteType.Value)
|
||||||
|
{
|
||||||
|
case 1100: return "Oily residues (sludge)";
|
||||||
|
case 1200: return "Oily bilge water";
|
||||||
|
case 1300: return "Waste oil - others (specify)";
|
||||||
|
case 2100: return "Food waste";
|
||||||
|
case 2200: return "Plastic";
|
||||||
|
case 2300: return "Domestic wastes";
|
||||||
|
case 2311: return "Cooking oil";
|
||||||
|
case 2308: return "Incinerator ashes";
|
||||||
|
case 2313: return "Operational wastes";
|
||||||
|
case 2309: return "Animal carcass(es)";
|
||||||
|
case 3000: return "Sewage";
|
||||||
|
case 5100: return "Cargo residues - Marpol Annex I";
|
||||||
|
case 5200: return "Cargo residues - Marpol Annex II";
|
||||||
|
case 5300: return "Cargo residues - Marpol Annex V";
|
||||||
|
|
||||||
|
default: return "Others (specify)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Validation(ValidationCode.NOT_NULL)]
|
[Validation(ValidationCode.NOT_NULL)]
|
||||||
public byte? WasteType { get; set; }
|
public int? WasteType { get; set; }
|
||||||
|
|
||||||
[ShowReport]
|
[ShowReport]
|
||||||
[Validation(ValidationCode.NOT_NULL)]
|
[Validation(ValidationCode.NOT_NULL)]
|
||||||
@ -145,7 +173,7 @@ namespace bsmd.database
|
|||||||
Waste waste = new Waste();
|
Waste waste = new Waste();
|
||||||
|
|
||||||
waste.id = reader.GetGuid(0);
|
waste.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) waste.WasteType = reader.GetByte(1);
|
if (!reader.IsDBNull(1)) waste.WasteType = reader.GetInt32(1);
|
||||||
if (!reader.IsDBNull(2)) waste.WasteDescription = reader.GetString(2);
|
if (!reader.IsDBNull(2)) waste.WasteDescription = reader.GetString(2);
|
||||||
if (!reader.IsDBNull(3)) waste.WasteDisposalAmount_MTQ = (float) reader.GetDouble(3);
|
if (!reader.IsDBNull(3)) waste.WasteDisposalAmount_MTQ = (float) reader.GetDouble(3);
|
||||||
if (!reader.IsDBNull(4)) waste.WasteCapacity_MTQ = (float) reader.GetDouble(4);
|
if (!reader.IsDBNull(4)) waste.WasteCapacity_MTQ = (float) reader.GetDouble(4);
|
||||||
|
|||||||
@ -54,11 +54,12 @@ namespace bsmd.email
|
|||||||
|
|
||||||
public bool IsConnected { get { return this._connected; } }
|
public bool IsConnected { get { return this._connected; } }
|
||||||
|
|
||||||
public bool ReceiveSingleMail(out string attachmentLocalFile, out string messageId, out string sender)
|
public bool ReceiveSingleMail(out string attachmentLocalFile, out string messageId, out string sender, out string subject)
|
||||||
{
|
{
|
||||||
attachmentLocalFile = null;
|
attachmentLocalFile = null;
|
||||||
messageId = null;
|
messageId = null;
|
||||||
sender = null;
|
sender = null;
|
||||||
|
subject = null;
|
||||||
|
|
||||||
if (!_connected) return false;
|
if (!_connected) return false;
|
||||||
|
|
||||||
@ -73,6 +74,7 @@ namespace bsmd.email
|
|||||||
sender = mailMessage.Headers.From.MailAddress.Address;
|
sender = mailMessage.Headers.From.MailAddress.Address;
|
||||||
|
|
||||||
messageId = mailMessage.Headers.MessageId;
|
messageId = mailMessage.Headers.MessageId;
|
||||||
|
subject = mailMessage.Headers.Subject;
|
||||||
|
|
||||||
foreach(MessagePart part in mailMessage.FindAllAttachments())
|
foreach(MessagePart part in mailMessage.FindAllAttachments())
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user