added pflichtfelder, fix zum roten rand ausstehend
This commit is contained in:
@@ -74,6 +74,9 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
private ObservableCollection<HierarchicalSelectionItem> categoryHierarchy = new ObservableCollection<HierarchicalSelectionItem>();
|
||||
private readonly Dictionary<string, HierarchicalSelectionItem> categoryLookup = new Dictionary<string, HierarchicalSelectionItem>(StringComparer.OrdinalIgnoreCase);
|
||||
private bool isCategoryLoading;
|
||||
private Brush defaultCategoryBorderBrush;
|
||||
private Brush defaultQuickTicketBorderBrush;
|
||||
private readonly Brush validationErrorBrush = new SolidColorBrush(Colors.Red);
|
||||
|
||||
public bool IsTicket
|
||||
{
|
||||
@@ -230,7 +233,10 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
private static void OnSelectedCategoryChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is CloseCaseDialogWithTicket instance)
|
||||
{
|
||||
instance.LogSelectedCategoryChanged(e.NewValue as HierarchicalSelectionItem);
|
||||
instance.ValidateProperty("SelectedCategory");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -403,9 +409,11 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
me.UpdateTicketComponentVisibility();
|
||||
await me.InitializeCategorySelectionAsync();
|
||||
await me.UpdateQuickCallsComboBoxAsync();
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
me.ValidateProperty("SelectedCategory");
|
||||
me.ValidateProperty("QuickTicketSelection");
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
|
||||
@@ -418,14 +426,18 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
|
||||
private TicketCompletion parentWindow;
|
||||
|
||||
public CloseCaseDialogWithTicket()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Unloaded += CloseCaseDialogWithTicket_Unloaded;
|
||||
this.Loaded += CloseCaseDialogWithTicket_Loaded;
|
||||
|
||||
DependencyPropertyDescriptor dpd =
|
||||
DependencyPropertyDescriptor.FromProperty(TextBlock.TextProperty, typeof(TextBlock));
|
||||
public CloseCaseDialogWithTicket()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Unloaded += CloseCaseDialogWithTicket_Unloaded;
|
||||
this.Loaded += CloseCaseDialogWithTicket_Loaded;
|
||||
defaultCategoryBorderBrush = CategorySelectionControl?.BorderBrush?.CloneCurrentValue();
|
||||
defaultQuickTicketBorderBrush = QuickTicketSelection?.BorderBrush?.CloneCurrentValue();
|
||||
if (validationErrorBrush is Freezable freezableBrush && freezableBrush.CanFreeze)
|
||||
freezableBrush.Freeze();
|
||||
|
||||
DependencyPropertyDescriptor dpd =
|
||||
DependencyPropertyDescriptor.FromProperty(TextBlock.TextProperty, typeof(TextBlock));
|
||||
|
||||
dpd?.AddValueChanged(CaseNotesPreview, TicketCaseNotesTextBlock_TextChanged);
|
||||
|
||||
@@ -444,10 +456,12 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
parentWindow.SetButtonStateYes(false, "Initial gesperrt.");
|
||||
parentWindow.SetButtonStateNo(true, cMultiLanguageSupport.GetItem("Dialog.CloseCase.Cancel"));
|
||||
|
||||
ValidateProperty("TicketSummaryTextBox");
|
||||
ValidateProperty("TicketStatusCombobox");
|
||||
ValidateProperty("CaseNotesPreview");
|
||||
}
|
||||
ValidateProperty("TicketSummaryTextBox");
|
||||
ValidateProperty("TicketStatusCombobox");
|
||||
ValidateProperty("CaseNotesPreview");
|
||||
ValidateProperty("SelectedCategory");
|
||||
ValidateProperty("QuickTicketSelection");
|
||||
}
|
||||
private void CloseCaseDialogWithTicket_Unloaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Window parentWindow = Window.GetWindow(this);
|
||||
@@ -937,6 +951,7 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
finally
|
||||
{
|
||||
isCategoryLoading = false;
|
||||
ValidateProperty("SelectedCategory");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1125,13 +1140,14 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
});
|
||||
}
|
||||
|
||||
QuickTicketSelection.ItemsSource = quickCallListe;
|
||||
|
||||
QuickTicketSelection.SelectedItem = quickCallListe
|
||||
.FirstOrDefault(x => x.ID == "7bbe64e2-94d0-ee11-4285-00155d010a04");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
QuickTicketSelection.ItemsSource = quickCallListe;
|
||||
|
||||
QuickTicketSelection.SelectedItem = quickCallListe
|
||||
.FirstOrDefault(x => x.ID == "7bbe64e2-94d0-ee11-4285-00155d010a04");
|
||||
ValidateProperty("QuickTicketSelection");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LogException(e);
|
||||
}
|
||||
}
|
||||
@@ -1980,10 +1996,10 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
}
|
||||
break;
|
||||
|
||||
case "TicketStatusCombobox":
|
||||
validateComboboxNotEmpty(TicketStatusCombobox);
|
||||
if (!(TicketStatusCombobox.SelectedItem is ComboBoxItem a))
|
||||
break;
|
||||
case "TicketStatusCombobox":
|
||||
validateComboboxNotEmpty(TicketStatusCombobox);
|
||||
if (!(TicketStatusCombobox.SelectedItem is ComboBoxItem a))
|
||||
break;
|
||||
|
||||
enumTicketStatus currenTicketStatus = enumTicketStatus.Unknown;
|
||||
var currentTicketActivityType = SelectedTicket?.Infos.FirstOrDefault(x => x.Key == "ActivityType").Value;
|
||||
@@ -2041,12 +2057,47 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
else
|
||||
{
|
||||
ShowAssetWarningTicketAction = false;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return new List<string>(_errors.Values);
|
||||
}
|
||||
|
||||
break;
|
||||
case "SelectedCategory":
|
||||
bool categoryIsVisible = CategorySelectionControl?.IsVisible ?? false;
|
||||
bool categoryHasError = categoryIsVisible && SelectedCategory == null;
|
||||
UpdateCategoryValidationVisualState(categoryHasError);
|
||||
|
||||
if (categoryHasError)
|
||||
{
|
||||
if (!_errors.ContainsKey(propertyName))
|
||||
_errors.Add(propertyName, cMultiLanguageSupport.GetItem("Dialog.CloseCase.ValidationErrorCategoryEmpty"));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_errors.ContainsKey(propertyName))
|
||||
_errors.Remove(propertyName);
|
||||
}
|
||||
|
||||
break;
|
||||
case "QuickTicketSelection":
|
||||
bool quickCallIsVisible = QuickTicketSelection?.IsVisible ?? false;
|
||||
bool quickCallSelected = QuickTicketSelection?.SelectedItem is QuickCallEntry selectedQuickCall && !string.IsNullOrWhiteSpace(selectedQuickCall.ID);
|
||||
bool quickCallHasError = quickCallIsVisible && !quickCallSelected;
|
||||
UpdateQuickTicketValidationVisualState(quickCallHasError);
|
||||
|
||||
if (quickCallHasError)
|
||||
{
|
||||
if (!_errors.ContainsKey(propertyName))
|
||||
_errors.Add(propertyName, cMultiLanguageSupport.GetItem("Dialog.CloseCase.ValidationErrorQuickCallEmpty"));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_errors.ContainsKey(propertyName))
|
||||
_errors.Remove(propertyName);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return new List<string>(_errors.Values);
|
||||
}
|
||||
|
||||
|
||||
@@ -2388,9 +2439,9 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
}
|
||||
|
||||
|
||||
private static void setTextboxErrorState(object sender, bool hasError)
|
||||
{
|
||||
if (sender is TextBox textBox)
|
||||
private static void setTextboxErrorState(object sender, bool hasError)
|
||||
{
|
||||
if (sender is TextBox textBox)
|
||||
{
|
||||
// Überprüfe den Inhalt und setze die Hintergrundfarbe entsprechend
|
||||
if (hasError)
|
||||
@@ -2403,9 +2454,35 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
// Setze die ursprüngliche Hintergrundfarbe zurück, wenn die Validierung erfolgreich ist
|
||||
textBox.BorderBrush = (SolidColorBrush)new BrushConverter().ConvertFromString("#DEE2E6");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateCategoryValidationVisualState(bool hasError)
|
||||
{
|
||||
if (CategorySelectionControl == null)
|
||||
return;
|
||||
|
||||
if (defaultCategoryBorderBrush == null)
|
||||
defaultCategoryBorderBrush = CategorySelectionControl.BorderBrush?.CloneCurrentValue();
|
||||
|
||||
CategorySelectionControl.BorderBrush = hasError
|
||||
? validationErrorBrush
|
||||
: defaultCategoryBorderBrush;
|
||||
}
|
||||
|
||||
private void UpdateQuickTicketValidationVisualState(bool hasError)
|
||||
{
|
||||
if (QuickTicketSelection == null)
|
||||
return;
|
||||
|
||||
if (defaultQuickTicketBorderBrush == null)
|
||||
defaultQuickTicketBorderBrush = QuickTicketSelection.BorderBrush?.CloneCurrentValue();
|
||||
|
||||
QuickTicketSelection.BorderBrush = hasError
|
||||
? validationErrorBrush
|
||||
: defaultQuickTicketBorderBrush;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region DropDown
|
||||
@@ -2453,10 +2530,15 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
}
|
||||
|
||||
}
|
||||
private void ComputerSelection_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
SelectedComputer = (cF4sdApiSearchResultRelation)ComputerSelection.SelectedItem;
|
||||
}
|
||||
private void ComputerSelection_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
SelectedComputer = (cF4sdApiSearchResultRelation)ComputerSelection.SelectedItem;
|
||||
}
|
||||
|
||||
private void QuickTicketSelection_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
ValidateProperty("QuickTicketSelection");
|
||||
}
|
||||
|
||||
private void TransferCaseNotesCheck_Unchecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user