reacted to some more corrections, Version 7.9.0.5

This commit is contained in:
Daniel Schick 2023-02-23 12:28:18 +01:00
parent f529fa9ac9
commit 6f5e5b66e9
5 changed files with 50 additions and 28 deletions

View File

@ -60,9 +60,12 @@ namespace ENI2.Controls
md.Status = MaerskData.MDStatus.ID;
md.ColM = core.VisitId;
await DBManagerAsync.Save(md);
_dbWatchDog.UnRegister(core);
this.Dispatcher.Invoke(() =>
{
this.dataGridPOCores.Items.Refresh();
if(_dbWatchDog.Idle)
busyControl.BusyState = Util.UIHelper.BusyStateEnum.NEUTRAL;
});
}
}
@ -206,7 +209,7 @@ namespace ENI2.Controls
private async void PerformSearch()
{
busyControl.BusyState = Util.UIHelper.BusyStateEnum.BUSY;
Dictionary<MessageCore.SearchFilterType, string> filterDict = new Dictionary<MessageCore.SearchFilterType, string>();
// Die Suche findet in dem eingestellten Intervall statt
@ -237,6 +240,7 @@ namespace ENI2.Controls
}
this.dataGridPOCores.SelectedItem = null;
busyControl.BusyState = Util.UIHelper.BusyStateEnum.NEUTRAL;
}
private string ReadFieldAsString(IExcelDataReader reader, int fieldNum)
@ -306,7 +310,20 @@ namespace ENI2.Controls
}
MaerskData md = new MaerskData();
md.ColA = ReadFieldAsString(reader, 0);
if (!reader.IsDBNull(0))
{
if (reader.GetFieldType(0) == typeof(DateTime))
{
md.ETA = reader.GetDateTime(0);
md.ColA = md.ETA.ToString();
}
else
{
md.ColA = reader.GetString(0);
if (DateTime.TryParse(md.ColA, out DateTime aDateTime))
md.ETA = aDateTime;
}
}
if (!reader.IsDBNull(1)) md.ColB = ReadFieldAsString(reader, 1);
if (!reader.IsDBNull(2)) md.ColC = ReadFieldAsString(reader, 2);
if (!reader.IsDBNull(3)) md.ColD = ReadFieldAsString(reader, 3);
@ -322,19 +339,7 @@ namespace ENI2.Controls
throw new InvalidOperationException($"{md.ColI} found in import to {PortLocode}, this is probably an error. Aborting import");
}
if (!reader.IsDBNull(9)) md.ColJ = ReadFieldAsString(reader, 9);
if (!reader.IsDBNull(10)) {
if (reader.GetFieldType(10) == typeof(DateTime))
{
md.ETA = reader.GetDateTime(10);
md.ColK = md.ETA.ToString();
}
else
{
md.ColK = reader.GetString(10);
if (DateTime.TryParse(md.ColK, out DateTime aDateTime))
md.ETA = aDateTime;
}
}
if (!reader.IsDBNull(10)) md.ColK = ReadFieldAsString(reader, 10);
if (!reader.IsDBNull(11)) md.ColL = ReadFieldAsString(reader, 11);
if (!reader.IsDBNull(12)) md.ColM = ReadFieldAsString(reader, 12);
if (!reader.IsDBNull(13)) md.Remark = ReadFieldAsString(reader, 13);
@ -362,7 +367,10 @@ namespace ENI2.Controls
if (this.maerskDataList.Contains(md))
{
// update record with imported record
MaerskData foundData = this.maerskDataList.First((m) => (m.ColF != null) && m.ColF.Equals(md.ColF) && (m.ColG != null) && m.ColG.Equals(md.ColG) && (md.ColH != null) && md.ColH.Equals(md.ColH));
MaerskData foundData = this.maerskDataList.First((m) => (m.ColF != null) ? m.ColF.Equals(md.ColF) : (md.ColF == null) &&
(m.ColG != null) ? m.ColG.Equals(md.ColG) : (md.ColG == null) &&
(m.ColH != null) ? m.ColH.Equals(md.ColH) : (md.ColH == null));
if(foundData.ETA.HasValue && ((foundData.ETA.Value - DateTime.Now).TotalSeconds > 0) && foundData.Update(md))
foundData.Status = MaerskData.MDStatus.UPDATED;
}
@ -464,13 +472,15 @@ namespace ENI2.Controls
}
else
{
busyControl.BusyState = Util.UIHelper.BusyStateEnum.BUSY;
foreach (MaerskData md in requestList)
{
md.Status = MaerskData.MDStatus.REQUESTING_ID;
// create MessageCore and message classes
md.MessageCore = new MessageCore();
md.MessageCore.InitialHIS = Message.NSWProvider.DBH;
md.MessageCore.InitialHIS = Message.NSWProvider.DBH_MAERSK;
md.MessageCore.IMO = md.ColF;
md.MessageCore.ETA = md.ETA;
md.MessageCore.IsTransit = false;

View File

@ -97,6 +97,11 @@ namespace ENI2.EditControls
private void LocodePoC_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
this.CheckComplete();
string locode = this.locodePoC.LocodeValue;
if ((locode != null) && (locode.Equals("DEBRV") || locode.Equals("DEBRE")))
{
this.comboBoxInitialHIS.SelectedValue = Message.NSWProvider.DBH;
}
}
private void doubleUpDownIMO_ValueChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs<object> e)

View File

@ -96,6 +96,11 @@ namespace ENI2.EditControls
private void LocodePoC_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
this.CheckComplete();
string locode = this.locodePoC.LocodeValue;
if((locode != null) && (locode.Equals("DEBRV") || locode.Equals("DEBRE")))
{
this.comboBoxInitialHIS.SelectedValue = Message.NSWProvider.DBH;
}
}
private void datePickerETA_SelectedDateChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
@ -128,7 +133,7 @@ namespace ENI2.EditControls
isComplete &= validLocode;
isComplete &= (comboBoxInitialHIS.SelectedValue != null);
isComplete &= comboBoxInitialHIS.SelectedValue != null;
this.EnableOK(isComplete);
}

View File

@ -31,6 +31,8 @@ namespace ENI2.Util
this.bgTimer.Interval = Properties.Settings.Default.changeTimerTimeout;
}
public bool Idle => _watchedEntities.Count == 0;
private void BgTimer_Elapsed(object sender, ElapsedEventArgs e)
{
lock (this._entityLock)

View File

@ -177,7 +177,7 @@ namespace bsmd.database
if (!reader.IsDBNull(15)) md.Remark = reader.GetString(15);
// try parsing the column to datetime
if (DateTime.TryParse(md.ColK, out DateTime eta))
if (DateTime.TryParse(md.ColA, out DateTime eta))
md.ETA = eta;
}
return md;
@ -244,10 +244,10 @@ namespace bsmd.database
/// </summary>
public bool Equals(MaerskData other)
{
if (this.ColG == null) return false;
if (this.ColH == null) return false;
if (this.ColF == null) return false;
if (other == null) return false;
if (this.ColG == null) return (other.ColG == null);
if (this.ColH == null) return (other.ColH == null);
if (this.ColF == null) return (other.ColF == null);
return this.ColF.Equals(other.ColF) && this.ColG.Equals(other.ColG) && this.ColH.Equals(other.ColH);
}