6.0.11: Korrekturen von 6.0.10

This commit is contained in:
Daniel Schick 2021-02-23 08:37:09 +00:00
parent d353025b72
commit 586a91719d
13 changed files with 76 additions and 32 deletions

View File

@ -31,7 +31,7 @@
</setting>
<setting name="ConnectionString" serializeAs="String">
<!--value>Initial Catalog=nsw;Data Source=192.168.2.24\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Persist Security Info=False;Connection Reset=false</value-->
<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>
<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>
</ENI2.Properties.Settings>
</applicationSettings>

View File

@ -45,7 +45,7 @@
<DataGridTextColumn Header="Ship name" Binding="{Binding Shipname}" IsReadOnly="True" />
<DataGridTextColumn Header="ETA" Binding="{Binding ETA_NOA_NOD, StringFormat=\{0:dd.MM.yyyy HH:mm\}, Converter={util:UtcToLocalDateTimeConverter}}" IsReadOnly="True" />
<DataGridTextColumn Header="ETD" Binding="{Binding ETD_NOA_NOD, StringFormat=\{0:dd.MM.yyyy HH:mm\}, Converter={util:UtcToLocalDateTimeConverter}}" IsReadOnly="True" />
<DataGridTextColumn x:Name="gridColumnATA" Header="ATA" Binding="{Binding POATA, StringFormat=\{0:dd.MM.yyyy HH:mm\}, Mode=TwoWay, Converter={util:UtcToLocalDateTimeConverter}}" IsReadOnly="False" />
<DataGridTextColumn x:Name="gridColumnATA" Header="ATA" Binding="{Binding POATA, StringFormat=\{0:dd.MM.yyyy\}, Mode=TwoWay, Converter={util:UtcToLocalDateTimeConverter}}" IsReadOnly="False" />
<DataGridTextColumn Header="ATD" Binding="{Binding ATD, StringFormat=\{0:dd.MM.yyyy HH:mm\}, Converter={util:UtcToLocalDateTimeConverter}}" IsReadOnly="True" />
<DataGridTextColumn Header="Hafen" Binding="{Binding PortnameDisplay}" IsReadOnly="True" />
<DataGridTextColumn Header="Id" Binding="{Binding DisplayId}" IsReadOnly="True" />

View File

@ -80,7 +80,7 @@ namespace ENI2.Controls
workSheet.Cells[rowIndex, 7].Value = core.Shipname;
workSheet.Cells[rowIndex, 10].Value = core.PoC.Substring(2);
if(core.POATA.HasValue)
workSheet.Cells[rowIndex, 11].Value = core.POATA.Value;
workSheet.Cells[rowIndex, 11].Value = core.POATA.Value.ToShortDateString();
workSheet.Cells[rowIndex, 13].Value = core.PONumber;
rowIndex++;
}

View File

@ -28,7 +28,7 @@
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Label Content="ATA" Grid.Column="0" Grid.Row="0" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
<xctk:DateTimePicker Grid.Column="1" Value="{Binding ATAPortOfCall, Mode=TwoWay, Converter={util:UtcToLocalDateTimeConverter}}" Name="dateTimePickerATA" Format="Custom" FormatString="dd.MM.yyyy HH:mm" ShowButtonSpinner="False" VerticalContentAlignment="Center" Margin="2" AllowTextInput="True" ContextMenu="{DynamicResource ClearContextMenu}" TextAlignment="Left" Minimum="1899.12.31 00:00" Maximum="2100.12.31 00:00" PreviewKeyUp="DateTimePicker_PreviewKeyUp">
<xctk:DateTimePicker Grid.Column="1" Value="{Binding ATAPortOfCall, Mode=TwoWay, Converter={util:UtcToLocalDateTimeConverter}}" Name="dateTimePickerATA" Format="Custom" FormatString="dd.MM.yyyy HH:mm" ShowButtonSpinner="False" VerticalContentAlignment="Center" Margin="2" AllowTextInput="True" ContextMenu="{DynamicResource ClearContextMenu}" TextAlignment="Left" Minimum="1899.12.31 00:00" Maximum="2100.12.31 00:00" PreviewKeyUp="DateTimePicker_PreviewKeyUp" ValueChanged="dateTimePickerATA_ValueChanged">
</xctk:DateTimePicker>
</Grid>
</GroupBox>

View File

@ -75,12 +75,16 @@ namespace ENI2.DetailViewControls
this.ataGroupBox.DataContext = ata;
if (!ata.ATAPortOfCall.HasValue)
{
this.dateTimePickerATA.Minimum = DateTime.Now.AddDays(-14);
this.dateTimePickerATA.Maximum = DateTime.Now.AddDays(14);
this.dateTimePickerATA.ClipValueToMinMax = true;
}
// Diese Lösung wurde nicht für gut befunden. Dadurch wird zwar der gültige Bereich hübsch im Control angezeigt,
// allerdings kann man kein Datum außerhalb des Bereichs angeben, der Wert springt dann wieder zurück. Das wäre doch doofererer und
// fehleranfällig (Feb 2021)
//if (!ata.ATAPortOfCall.HasValue)
//{
// this.dateTimePickerATA.Minimum = DateTime.Now.AddDays(-14);
// this.dateTimePickerATA.Maximum = DateTime.Now.AddDays(14);
// this.dateTimePickerATA.ClipValueToMinMax = true;
//}
#endregion
@ -285,5 +289,19 @@ namespace ENI2.DetailViewControls
#endregion
#region special datetimepicker validation popup (OMG)
private void dateTimePickerATA_ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
if(this.dateTimePickerATA.Value.HasValue)
{
DateTime setTime = this.dateTimePickerATA.Value.Value;
if ((setTime > DateTime.Now.AddDays(14)) || (setTime < DateTime.Now.AddDays(-14)))
MessageBox.Show("ATA value may be invalid", "Date implausible", MessageBoxButton.OK, MessageBoxImage.Warning);
}
}
#endregion
}
}

View File

@ -28,7 +28,7 @@
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Label Content="ATD" Grid.Column="0" Grid.Row="0" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
<xctk:DateTimePicker Grid.Column="1" Value="{Binding ATDPortOfCall, Mode=TwoWay, Converter={util:UtcToLocalDateTimeConverter}}" Name="dateTimePickerATD" Format="Custom" FormatString="dd.MM.yyyy HH:mm" ShowButtonSpinner="False" VerticalContentAlignment="Center" Margin="2" AllowTextInput="True" ContextMenu="{DynamicResource ClearContextMenu}" TextAlignment="Left" Minimum="1899.12.31 00:00" Maximum="2100.12.31 00:00" PreviewKeyUp="DateTimePicker_PreviewKeyUp"/>
<xctk:DateTimePicker Grid.Column="1" Value="{Binding ATDPortOfCall, Mode=TwoWay, Converter={util:UtcToLocalDateTimeConverter}}" Name="dateTimePickerATD" Format="Custom" FormatString="dd.MM.yyyy HH:mm" ShowButtonSpinner="False" VerticalContentAlignment="Center" Margin="2" AllowTextInput="True" ContextMenu="{DynamicResource ClearContextMenu}" TextAlignment="Left" Minimum="1899.12.31 00:00" Maximum="2100.12.31 00:00" PreviewKeyUp="DateTimePicker_PreviewKeyUp" ValueChanged="dateTimePickerATD_ValueChanged"/>
</Grid>
</GroupBox>
<GroupBox Name="tiefdGroupBox" Header="{x:Static p:Resources.textDraughtOnDeparture}" Grid.Row="1">

View File

@ -73,12 +73,13 @@ namespace ENI2.DetailViewControls
this.atdGroupBox.DataContext = atd;
if (!atd.ATDPortOfCall.HasValue)
{
this.dateTimePickerATD.Minimum = DateTime.Now.AddDays(-14);
this.dateTimePickerATD.Maximum = DateTime.Now.AddDays(14);
this.dateTimePickerATD.ClipValueToMinMax = true;
}
// no, see ATA
//if (!atd.ATDPortOfCall.HasValue)
//{
// this.dateTimePickerATD.Minimum = DateTime.Now.AddDays(-14);
// this.dateTimePickerATD.Maximum = DateTime.Now.AddDays(14);
// this.dateTimePickerATD.ClipValueToMinMax = true;
//}
#endregion
@ -272,6 +273,19 @@ namespace ENI2.DetailViewControls
}
#endregion
#region special datetimepicker validation popup (OMG)
private void dateTimePickerATD_ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
if (this.dateTimePickerATD.Value.HasValue)
{
DateTime setTime = this.dateTimePickerATD.Value.Value;
if ((setTime > DateTime.Now.AddDays(14)) || (setTime < DateTime.Now.AddDays(-14)))
MessageBox.Show("ATD value may be invalid", "Date implausible", MessageBoxButton.OK, MessageBoxImage.Warning);
}
}
#endregion
}
}

View File

@ -326,12 +326,12 @@ namespace ENI2.DetailViewControls
this.labelBSMDStatusInternal.DataContext = this.Core;
this.labelBSMDStatusInternal.GetBindingExpression(Label.ContentProperty)?.UpdateTarget();
//MessageBox.Show(string.Format("Visit/Transit ID updated: {0}", this.Core.DisplayId));
ShowIdDialog sid = new ShowIdDialog(this.Core)
{
DisplayId = this.Core.DisplayId
};
sid.UpdateId(this.Core.DisplayId);
sid.Show();
//ShowIdDialog sid = new ShowIdDialog(this.Core)
//{
// DisplayId = this.Core.DisplayId
//};
//sid.UpdateId(this.Core.DisplayId);
//sid.Show();
this.Core.IsDirty = false; // ist ja schon gespeichert..
}
@ -454,7 +454,7 @@ namespace ENI2.DetailViewControls
});
this.mssd.Show();
}
this.mssd.Activate(); // bring to foreground
this.mssd.AddMessages(watchList);
}

View File

@ -408,9 +408,13 @@ namespace ENI2
// Wartedialog anzeigen
ShowIdDialog showIdDialog = new ShowIdDialog(closedDialog.Core);
showIdDialog.Closed += (sid, showIdArgs) =>
{
if(((ShowIdDialog)sid).OpenCore)
this.AnmeldungenControl_MessageCoreSelected(closedDialog.Core); // in einem neuen Reiter öffnen
{
if (((ShowIdDialog)sid).OpenCore)
{
Dispatcher.BeginInvoke((Action)(() => {
this.AnmeldungenControl_MessageCoreSelected(closedDialog.Core); // in einem neuen Reiter öffnen
}));
}
// wenn der Dialog vorzeitig geschlossen wird erkennt man später dass man die Id dort nicht updaten braucht
if (this.showIdDict.ContainsKey(closedDialog.Core.Id.Value))

View File

@ -109,6 +109,7 @@ namespace ENI2
if (sender == this.buttonLast10Ids)
{
filterDict.Add(MessageCore.SearchFilterType.FILTER_LATESTIDS, null);
filterDict.Add(MessageCore.SearchFilterType.FILTER_CREATEDBY, ReportingParty.CurrentReportingParty.Id.Value.ToString());
latestIdsSearch = true;
}
@ -198,7 +199,7 @@ namespace ENI2
this.dataGrid.ItemsSource = this.anmeldungen;
this.searchResultLabel.Content = ((expectedResultNum ?? 0) > 0) ? string.Format("{0} results found, {1} displayed.", expectedResultNum ?? 0, this.anmeldungen.Count) : "no results";
if((expectedResultNum ?? 0) > 100)
if(!latestIdsSearch && (expectedResultNum ?? 0) > 100)
{
// Messagebox damit es wirklich jeder merkt :\
string searchMessage = string.Format(Properties.Resources.textSearchExceededMessage, 100, expectedResultNum.Value);

Binary file not shown.

View File

@ -82,7 +82,8 @@ namespace bsmd.database
FILTER_SHIPNAME,
FILTER_ETA,
FILTER_TICKETNO,
FILTER_LATESTIDS
FILTER_LATESTIDS,
FILTER_CREATEDBY
}
[Flags]
@ -648,6 +649,12 @@ namespace bsmd.database
sb.Append(" ((DATALENGTH(VisitId) > 0) OR (DATALENGTH(TransitId) > 0)) ");
break;
}
case SearchFilterType.FILTER_CREATEDBY:
{
sb.Append(" DefaultReportingPartyId = @DRPID ");
((SqlCommand)cmd).Parameters.AddWithValue("@DRPID", searchDict[key]);
break;
}
}
if (!moreThanOne) moreThanOne = true;
}

View File

@ -255,15 +255,15 @@ namespace bsmd.database
{
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Check ETAToPortOfCall: might be implausible", this.ETAToPortOfCall.Value.ToString(), this.Title, null, this.Tablename));
}
if(this.ETDFromLastPort < (DateTime.Now.AddDays(-14)))
if(this.ETDFromLastPort < DateTime.Now.AddDays(-14))
{
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Check ETDFromLastPort: might be implausible", this.ETDFromLastPort.Value.ToString(), this.Title, null, this.Tablename));
}
if (this.ETDFromPortOfCall < (DateTime.Now.AddDays(-14)))
if ((this.ETDFromPortOfCall < DateTime.Now.AddDays(-14)) || (this.ETDFromPortOfCall > DateTime.Now.AddDays(14)))
{
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Check ETDFromPortOfCall: might be implausible", this.ETDFromPortOfCall.Value.ToString(), this.Title, null, this.Tablename));
}
if (this.ETAToNextPort < DateTime.Now)
if ((this.ETAToNextPort < DateTime.Now) || (this.ETAToNextPort > DateTime.Now.AddDays(14)))
{
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Check ETAToNextPort: might be implausible", this.ETAToNextPort.Value.ToString(), this.Title, null, this.Tablename));
}