Maske CREWD/PASD getestet und gebugfixt, Validierung angefangen
This commit is contained in:
parent
e087419d64
commit
503618a323
@ -443,20 +443,20 @@ namespace ENI2
|
||||
if(App.UserId.HasValue && DBManager.Instance.GetReportingPartyDict().ContainsKey(App.UserId.Value))
|
||||
{
|
||||
userName = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].Logon;
|
||||
}
|
||||
}
|
||||
message.ChangedBy = string.Format("{0} at {1}", userName, DateTime.Now);
|
||||
message.IsDirty = false;
|
||||
message.UnsentMessageWarningShown = false;
|
||||
message.UnconfirmedMessageWarningShown = false;
|
||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(message);
|
||||
|
||||
message.SaveElements();
|
||||
|
||||
message.SaveElements();
|
||||
|
||||
if(message.MessageNotificationClass == Message.NotificationClass.ATA)
|
||||
{
|
||||
DetailBaseControl currentControl = this.detailView.Children[0] as DetailBaseControl;
|
||||
// ggf. hat sich die Ticketnr geändert..
|
||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(currentControl.Core);
|
||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(currentControl.Core);
|
||||
}
|
||||
|
||||
if(message.MessageNotificationClass == Message.NotificationClass.STAT)
|
||||
|
||||
@ -406,10 +406,11 @@ namespace ENI2.DetailViewControls
|
||||
|
||||
private void DataGridPassengerListDeparture_CreateRequested()
|
||||
{
|
||||
EditPASDialog epd = new EditPASDialog
|
||||
EditPASDialog epd = new EditPASDialog
|
||||
{
|
||||
PAS = new PASD()
|
||||
};
|
||||
epd.PAS.IsDeparture = true;
|
||||
epd.PAS.Identifier = PASD.GetNewIdentifier(_pasdMessage.Elements);
|
||||
epd.PAS.MessageHeader = this._pasdMessage;
|
||||
|
||||
@ -421,6 +422,7 @@ namespace ENI2.DetailViewControls
|
||||
this.dataGridPassengerList.Items.Refresh();
|
||||
epd.PAS = new PASD
|
||||
{
|
||||
IsDeparture = true,
|
||||
MessageHeader = this._pasdMessage,
|
||||
Identifier = PASD.GetNewIdentifier(_pasdMessage.Elements)
|
||||
};
|
||||
@ -468,6 +470,7 @@ namespace ENI2.DetailViewControls
|
||||
this.dataGridPassengerList.Items.Refresh();
|
||||
epd.PAS = new PASD
|
||||
{
|
||||
IsDeparture = true,
|
||||
Identifier = PASD.GetNewIdentifier(_pasdMessage.Elements),
|
||||
MessageHeader = _pasdMessage
|
||||
};
|
||||
@ -586,8 +589,9 @@ namespace ENI2.DetailViewControls
|
||||
{
|
||||
EditCREWDialog ecd = new EditCREWDialog
|
||||
{
|
||||
CREW = new CREW()
|
||||
CREW = new CREWD()
|
||||
};
|
||||
ecd.CREW.IsDeparture = true;
|
||||
ecd.CREW.Identifier = CREWD.GetNewIdentifier(_crewdMessage.Elements);
|
||||
ecd.CREW.MessageHeader = this._crewdMessage;
|
||||
|
||||
@ -599,6 +603,7 @@ namespace ENI2.DetailViewControls
|
||||
this.dataGridCrewListDeparture.Items.Refresh();
|
||||
ecd.CREW = new CREWD
|
||||
{
|
||||
IsDeparture = true,
|
||||
MessageHeader = this._crewdMessage,
|
||||
Identifier = CREWD.GetNewIdentifier(_crewdMessage.Elements)
|
||||
};
|
||||
@ -646,6 +651,7 @@ namespace ENI2.DetailViewControls
|
||||
this.dataGridCrewListDeparture.Items.Refresh();
|
||||
ecd.CREW = new CREWD
|
||||
{
|
||||
IsDeparture = true,
|
||||
Identifier = CREWD.GetNewIdentifier(_crewdMessage.Elements),
|
||||
MessageHeader = _crewdMessage
|
||||
};
|
||||
@ -792,6 +798,8 @@ namespace ENI2.DetailViewControls
|
||||
throw new InvalidDataException("Sheet must have at least 10 Columns of data");
|
||||
}
|
||||
CREWD crew = new CREWD();
|
||||
crew.IsDeparture = true;
|
||||
|
||||
if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
|
||||
if (!reader.IsDBNull(0)) crew.CrewMemberLastName = reader.GetString(0);
|
||||
if (!reader.IsDBNull(1)) crew.CrewMemberFirstName = reader.GetString(1);
|
||||
@ -956,6 +964,7 @@ namespace ENI2.DetailViewControls
|
||||
}
|
||||
|
||||
PASD pas = new PASD();
|
||||
pas.IsDeparture = true;
|
||||
if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
|
||||
if (!reader.IsDBNull(0)) pas.PassengerLastName = reader.GetValue(0).ToString();
|
||||
if (!reader.IsDBNull(1)) pas.PassengerFirstName = reader.GetValue(1).ToString();
|
||||
|
||||
@ -70,6 +70,7 @@ namespace ENI2.DetailViewControls
|
||||
this.hazd = new HAZ();
|
||||
this.hazd.MessageCore = this.Core;
|
||||
this.hazd.MessageHeader = aMessage;
|
||||
this.hazd.IsDeparture = true;
|
||||
aMessage.Elements.Add(this.hazd);
|
||||
SublistElementChanged(Message.NotificationClass.HAZD);
|
||||
}
|
||||
@ -96,6 +97,7 @@ namespace ENI2.DetailViewControls
|
||||
haz = new HAZ();
|
||||
haz.MessageCore = this.Core;
|
||||
haz.MessageHeader = this._hazMessage;
|
||||
haz.IsDeparture = this.IsDeparture;
|
||||
_hazMessage.Elements.Add(haz);
|
||||
}
|
||||
|
||||
|
||||
@ -1948,6 +1948,7 @@ namespace ENI2.Excel
|
||||
if (!(crewdMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is CREWD crew))
|
||||
{
|
||||
crew = new CREWD();
|
||||
crew.IsDeparture = true;
|
||||
crew.Identifier = (i + 1).ToString();
|
||||
crew.MessageHeader = crewdMessage;
|
||||
crewdMessage.Elements.Add(crew);
|
||||
@ -2054,6 +2055,7 @@ namespace ENI2.Excel
|
||||
if (!(pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is PASD pas))
|
||||
{
|
||||
pas = new PASD();
|
||||
pas.IsDeparture = true;
|
||||
pas.Identifier = (i + 1).ToString();
|
||||
pas.MessageHeader = pasMessage;
|
||||
pasMessage.Elements.Add(pas);
|
||||
|
||||
@ -109,4 +109,8 @@ ALTER TABLE [dbo].[PAS]
|
||||
ADD [EmergencyCare] NVARCHAR (255) NULL,
|
||||
[EmergencyContactNumber] NVARCHAR (99) NULL;
|
||||
|
||||
GO
|
||||
|
||||
INSERT INTO ViolationText(ViolationCode, ViolationText) VALUES (33, 'Value is too large')
|
||||
|
||||
GO
|
||||
@ -859,6 +859,7 @@ namespace bsmd.database
|
||||
{ typeof(BRKA), typeof(BRKA).Name },
|
||||
{ typeof(BRKD), typeof(BRKD).Name },
|
||||
{ typeof(CREW), typeof(CREW).Name },
|
||||
{ typeof(CREWD), typeof(CREWD).Name },
|
||||
{ typeof(HAZ), typeof(HAZ).Name },
|
||||
{ typeof(INFO), typeof(INFO).Name },
|
||||
{ typeof(LADG), typeof(LADG).Name },
|
||||
@ -866,6 +867,7 @@ namespace bsmd.database
|
||||
{ typeof(NAME), typeof(NAME).Name },
|
||||
{ typeof(NOA_NOD), typeof(NOA_NOD).Name },
|
||||
{ typeof(PAS), typeof(PAS).Name },
|
||||
{typeof(PASD), typeof(PASD).Name },
|
||||
{ typeof(POBA), typeof(POBA).Name },
|
||||
{ typeof(POBD), typeof(POBD).Name },
|
||||
{ typeof(PRE72H), typeof(PRE72H).Name },
|
||||
@ -922,8 +924,8 @@ namespace bsmd.database
|
||||
case Message.NotificationClass.HAZD: result = new HAZ(); ((HAZ)result).IsDeparture = true; break;
|
||||
case Message.NotificationClass.AGNT: result = new AGNT(); break;
|
||||
case Message.NotificationClass.STO: result = new STO(); break;
|
||||
case Message.NotificationClass.CREWD: result = new CREWD(); break;
|
||||
case Message.NotificationClass.PASD: result = new PASD(); break;
|
||||
case Message.NotificationClass.CREWD: result = new CREWD(); ((CREWD)result).IsDeparture = true; break;
|
||||
case Message.NotificationClass.PASD: result = new PASD(); ((PASD)result).IsDeparture = true; break;
|
||||
case Message.NotificationClass.WAS_RCPT: result = new WAS_RCPT(); break;
|
||||
|
||||
default:
|
||||
|
||||
@ -99,7 +99,7 @@ namespace bsmd.database
|
||||
CREWD,
|
||||
PASD,
|
||||
WAS_RCPT
|
||||
}
|
||||
}
|
||||
|
||||
public enum MessageStatus
|
||||
{ ACCEPTED, REJECTED }
|
||||
|
||||
@ -311,17 +311,17 @@ namespace bsmd.database
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.NOT_NULL, "ETDFromLastPort missing", null, this.Title, null, this.Tablename));
|
||||
|
||||
if((this.LastPort?.Equals("ZZUKN") == true) && this.ETDFromLastPort.HasValue)
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE_ZZUKN, "ETDFromLastPort missing", null, this.Title, null, this.Tablename));
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE_ZZUKN, "ETDFromLastPort cannot be set if ZZUKN", null, this.Title, null, this.Tablename));
|
||||
|
||||
if (this.ETDFromPortOfCall.HasValue && this.ETAToNextPort.HasValue && (this.NextPort?.Equals("ZZUKN") == false) &&
|
||||
(this.ETAToNextPort <= ETDFromPortOfCall))
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.E122, "ETAToNextPort", null, this.Title, null, this.Tablename));
|
||||
|
||||
if ((this.NextPort?.Equals("ZZUKN") == false) && !this.ETAToNextPort.HasValue)
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.NOT_NULL, "ETAToNextPort", null, this.Title, null, this.Tablename));
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.NOT_NULL, "ETAToNextPort missing", null, this.Title, null, this.Tablename));
|
||||
|
||||
if((this.NextPort?.Equals("ZZUKN") == true) && this.ETAToNextPort.HasValue)
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE_ZZUKN, "ETAToNextPort", null, this.Title, null, this.Tablename));
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE_ZZUKN, "ETAToNextPort cannot be set if ZZUKN", null, this.Title, null, this.Tablename));
|
||||
|
||||
if (this.ETDFromLastPort.HasValue && this.ETAToPortOfCall.HasValue && (this.ETDFromLastPort >= this.ETAToPortOfCall))
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE, "ETDFromLastPort", null, this.Title, null, this.Tablename));
|
||||
@ -394,5 +394,5 @@ namespace bsmd.database
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -200,7 +200,7 @@ namespace bsmd.database
|
||||
"PassengerPlaceOfBirth, PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, " +
|
||||
"PassengerIdentityDocumentId, PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation," +
|
||||
"PassengerInTransit, Identifier, IsDeparture, PassengerIdentityDocumentIssuingState, PassengerIdentityDocumentExpiryDate, " +
|
||||
"NotificationSchengen, NotificationSchengen, EmergencyCare, EmergencyContactNumber) " +
|
||||
"NotificationSchengen, NotificationPAX, EmergencyCare, EmergencyContactNumber) " +
|
||||
"VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20, @P21 )",
|
||||
this.Tablename);
|
||||
}
|
||||
|
||||
@ -137,6 +137,11 @@ namespace bsmd.database
|
||||
{
|
||||
if (((TotalCrewMembersOnBoardUponArrival ?? 0) + (TotalPassengersOnBoardUponArrival ?? 0) + (TotalStowawaysOnBoardUponArrival ?? 0)) != (TotalPersonsOnBoardUponArrival ?? 0))
|
||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "TotalPersonsOnBoardUponArrival", null, this.Title, null, this.Tablename));
|
||||
|
||||
if((TotalCrewMembersOnBoardUponArrival > 99998) || (TotalPassengersOnBoardUponArrival > 99998) || (TotalStowawaysOnBoardUponArrival > 99998) || (TotalPersonsOnBoardUponArrival > 99998))
|
||||
{
|
||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.VALUE_TOO_LARGE, "POBA", null, this.Title));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -135,6 +135,12 @@ namespace bsmd.database
|
||||
{
|
||||
if (((TotalCrewMembersOnBoardUponDeparture ?? 0) + (TotalPassengersOnBoardUponDeparture ?? 0) + (TotalStowawaysOnBoardUponDeparture ?? 0)) != (TotalPersonsOnBoardUponDeparture ?? 0))
|
||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "TotalPersonsOnBoardUponDeparture", null, this.Title, null, this.Tablename));
|
||||
|
||||
if ((TotalCrewMembersOnBoardUponDeparture > 99998) || (TotalPassengersOnBoardUponDeparture > 99998) || (TotalStowawaysOnBoardUponDeparture > 99998) || (TotalPersonsOnBoardUponDeparture > 99998))
|
||||
{
|
||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.VALUE_TOO_LARGE, "POBD", null, this.Title));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -214,6 +214,18 @@ namespace bsmd.database
|
||||
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE, "ShipToShipActivityType", this.ShipToShipActivityTypeCode.ToString(), this.Title, this.Identifier, this.SEC.Tablename));
|
||||
}
|
||||
|
||||
if (this.ShipToShipActivityLocationCoordinatesLatitude.HasValue &&
|
||||
((this.ShipToShipActivityLocationCoordinatesLatitude.Value > 54600000) || (this.ShipToShipActivityLocationCoordinatesLatitude < -54000000)))
|
||||
{
|
||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Latitude", null, this.Title, this.Identifier, this.SEC.Tablename));
|
||||
}
|
||||
|
||||
if(this.ShipToShipActivityLocationCoordinatesLongitude.HasValue &&
|
||||
((this.ShipToShipActivityLocationCoordinatesLongitude.Value > 108600000) || (this.ShipToShipActivityLocationCoordinatesLongitude.Value < -108000000)))
|
||||
{
|
||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Longitude", null, this.Title, this.Identifier, this.SEC.Tablename));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -49,6 +49,7 @@ namespace bsmd.database
|
||||
INVALID_NUMBER_CHARS = 30,
|
||||
OPTIONAL_FLAG_CODE,
|
||||
WORDOVERFLOW,
|
||||
VALUE_TOO_LARGE,
|
||||
E121 = 121,
|
||||
E122 = 122,
|
||||
E123 = 123,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user