set enabled flags in times and terminal edit controls
This commit is contained in:
parent
6079d1dc51
commit
2440424312
@ -31,6 +31,8 @@ namespace BreCalClient
|
||||
|
||||
public Times Times { get; set; } = new();
|
||||
|
||||
public Extensions.TypeEnum CallType { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region event handler
|
||||
|
||||
@ -4,8 +4,6 @@
|
||||
|
||||
using BreCalClient.misc.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using static BreCalClient.Extensions;
|
||||
|
||||
@ -32,6 +30,8 @@ namespace BreCalClient
|
||||
|
||||
public Times Times { get; set; } = new();
|
||||
|
||||
public Extensions.TypeEnum CallType { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region event handler
|
||||
|
||||
@ -4,8 +4,6 @@
|
||||
|
||||
using BreCalClient.misc.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using static BreCalClient.Extensions;
|
||||
|
||||
@ -32,6 +30,8 @@ namespace BreCalClient
|
||||
|
||||
public Times Times { get; set; } = new();
|
||||
|
||||
public Extensions.TypeEnum CallType { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region event handler
|
||||
|
||||
@ -27,6 +27,8 @@ namespace BreCalClient
|
||||
|
||||
public Times Times { get; set; } = new();
|
||||
|
||||
public Extensions.TypeEnum CallType { get; set; }
|
||||
|
||||
internal Extensions.ParticipantType ParticipantType { get; set; } = Extensions.ParticipantType.NONE;
|
||||
|
||||
#endregion
|
||||
@ -36,19 +38,7 @@ namespace BreCalClient
|
||||
private void Window_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.CopyToControls();
|
||||
bool enableControls = this.Times.ParticipantId == App.Participant.Id;
|
||||
|
||||
this.datePickerETABerth.IsEnabled = enableControls;
|
||||
this.checkBoxEtaBerthFixed.IsEnabled = enableControls;
|
||||
this.datePickerETDBerth.IsEnabled = enableControls;
|
||||
this.checkBoxEtDBerthFixed.IsEnabled = enableControls;
|
||||
this.datePickerLockTime.IsEnabled = enableControls;
|
||||
this.checkBoxLockTimeFixed.IsEnabled = enableControls;
|
||||
this.datePickerZoneEntry.IsEnabled = enableControls;
|
||||
this.checkBoxZoneEntryFixed.IsEnabled = enableControls;
|
||||
this.textBoxRemarks.IsEnabled = enableControls;
|
||||
this.buttonOK.IsEnabled = enableControls;
|
||||
|
||||
this.EnableControls();
|
||||
}
|
||||
|
||||
private void buttonOK_Click(object sender, RoutedEventArgs e)
|
||||
@ -96,6 +86,37 @@ namespace BreCalClient
|
||||
this.checkBoxZoneEntryFixed.IsChecked = this.Times.ZoneEntryFixed;
|
||||
}
|
||||
|
||||
private void EnableControls()
|
||||
{
|
||||
switch (this.ParticipantType)
|
||||
{
|
||||
case Extensions.ParticipantType.MOORING:
|
||||
case Extensions.ParticipantType.PORT_ADMINISTRATION:
|
||||
case Extensions.ParticipantType.TUG:
|
||||
this.datePickerETABerth.IsEnabled = (CallType == Extensions.TypeEnum.Incoming || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.checkBoxEtaBerthFixed.IsEnabled = (CallType == Extensions.TypeEnum.Incoming || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.datePickerETDBerth.IsEnabled = (CallType == Extensions.TypeEnum.Outgoing || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.checkBoxEtDBerthFixed.IsEnabled = (CallType == Extensions.TypeEnum.Outgoing || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.datePickerLockTime.IsEnabled = (CallType == Extensions.TypeEnum.Incoming || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.checkBoxLockTimeFixed.IsEnabled = (CallType == Extensions.TypeEnum.Incoming || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.datePickerZoneEntry.IsEnabled = false;
|
||||
this.checkBoxZoneEntryFixed.IsEnabled = false;
|
||||
this.textBoxRemarks.IsEnabled = true;
|
||||
break;
|
||||
case Extensions.ParticipantType.PILOT:
|
||||
this.datePickerETABerth.IsEnabled = (CallType == Extensions.TypeEnum.Incoming || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.checkBoxEtaBerthFixed.IsEnabled = (CallType == Extensions.TypeEnum.Incoming || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.datePickerETDBerth.IsEnabled = (CallType == Extensions.TypeEnum.Outgoing || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.checkBoxEtDBerthFixed.IsEnabled = (CallType == Extensions.TypeEnum.Outgoing || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.datePickerLockTime.IsEnabled = (CallType == Extensions.TypeEnum.Incoming || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.checkBoxLockTimeFixed.IsEnabled = (CallType == Extensions.TypeEnum.Incoming || CallType == Extensions.TypeEnum.Shifting);
|
||||
this.datePickerZoneEntry.IsEnabled = (CallType == Extensions.TypeEnum.Incoming);
|
||||
this.checkBoxZoneEntryFixed.IsEnabled = (CallType == Extensions.TypeEnum.Incoming);
|
||||
this.textBoxRemarks.IsEnabled = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region clear value event handler
|
||||
|
||||
@ -19,7 +19,9 @@ namespace BreCalClient
|
||||
|
||||
#region Properties
|
||||
|
||||
public Times Times { get; set; } = new();
|
||||
public Times Times { get; set; } = new();
|
||||
|
||||
public Extensions.TypeEnum CallType { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -29,15 +31,7 @@ namespace BreCalClient
|
||||
{
|
||||
this.comboBoxBerth.ItemsSource = BreCalLists.Berths;
|
||||
this.CopyToControls();
|
||||
|
||||
bool enableControls = this.Times.ParticipantId == App.Participant.Id;
|
||||
this.datePickerOperationStart.IsEnabled = enableControls;
|
||||
this.datePickerOperationEnd.IsEnabled = enableControls;
|
||||
this.comboBoxBerth.IsEnabled = enableControls;
|
||||
this.comboBoxPierside.IsEnabled = enableControls;
|
||||
this.textBoxRemarks.IsEnabled = enableControls;
|
||||
this.textBoxBerthRemarks.IsEnabled = enableControls;
|
||||
this.buttonOK.IsEnabled = enableControls;
|
||||
this.EnableControls();
|
||||
}
|
||||
|
||||
private void contextMenuItemClearOperationStart_Click(object sender, RoutedEventArgs e)
|
||||
@ -98,8 +92,17 @@ namespace BreCalClient
|
||||
this.textBoxBerthRemarks.Text = this.Times.BerthInfo;
|
||||
}
|
||||
|
||||
#endregion
|
||||
private void EnableControls()
|
||||
{
|
||||
this.datePickerOperationStart.IsEnabled = (CallType == Extensions.TypeEnum.Incoming) || (CallType == Extensions.TypeEnum.Shifting);
|
||||
this.datePickerOperationEnd.IsEnabled = (CallType == Extensions.TypeEnum.Outgoing) || (CallType == Extensions.TypeEnum.Shifting);
|
||||
this.comboBoxBerth.IsEnabled = (CallType == Extensions.TypeEnum.Incoming) || (CallType == Extensions.TypeEnum.Shifting);
|
||||
this.comboBoxPierside.IsEnabled = (CallType == Extensions.TypeEnum.Incoming) || (CallType == Extensions.TypeEnum.Shifting);
|
||||
this.textBoxBerthRemarks.IsEnabled = (CallType == Extensions.TypeEnum.Incoming) || (CallType == Extensions.TypeEnum.Shifting);
|
||||
this.textBoxRemarks.IsEnabled = true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,15 +4,11 @@
|
||||
|
||||
using BreCalClient.misc.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BreCalClient
|
||||
{
|
||||
internal static class Extensions
|
||||
public static class Extensions
|
||||
{
|
||||
|
||||
#region Enum
|
||||
|
||||
@ -11,6 +11,8 @@ namespace BreCalClient
|
||||
{
|
||||
Times Times { get; set; }
|
||||
|
||||
Extensions.TypeEnum CallType { get; set; }
|
||||
|
||||
bool? ShowDialog();
|
||||
|
||||
}
|
||||
|
||||
@ -565,9 +565,10 @@ namespace BreCalClient
|
||||
if (!obj.ShipcallControlModel.AssignedParticipants.ContainsKey(participantType)) return; // no assigment means no dialog my friend
|
||||
|
||||
// show a dialog that lets the user create / update times for the given shipcall
|
||||
IEditTimesControl etc = (participantType == ParticipantType.TERMINAL) ? new EditTimesTerminalControl() : new EditTimesControl();
|
||||
|
||||
IEditTimesControl etc = (participantType == ParticipantType.TERMINAL) ? new EditTimesTerminalControl() : new EditTimesControl();
|
||||
|
||||
if(obj.ShipcallControlModel.Shipcall != null)
|
||||
etc.CallType = (TypeEnum) obj.ShipcallControlModel.Shipcall.Type;
|
||||
bool wasEdit = false;
|
||||
if (times != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user