diff --git a/FasdDesktopUi/Basics/UserControls/Ticket/CloseCaseDialogWithTicket.xaml b/FasdDesktopUi/Basics/UserControls/Ticket/CloseCaseDialogWithTicket.xaml index 2b708e5..f0e951a 100644 --- a/FasdDesktopUi/Basics/UserControls/Ticket/CloseCaseDialogWithTicket.xaml +++ b/FasdDesktopUi/Basics/UserControls/Ticket/CloseCaseDialogWithTicket.xaml @@ -163,13 +163,14 @@ + Background="{DynamicResource BackgroundColor.DetailsPage.DataHistory.ValueColumn}" + BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}"> + Background="{DynamicResource BackgroundColor.DetailsPage.DataHistory.ValueColumn}" + BorderBrush="{DynamicResource BackgroundColor.Menu.SubCategory.Hover}"> - - - - - - - - - + + + + + + + + + + + x.Key == "ActivityType").Value; + + enumTicketStatus currenTicketStatus = enumTicketStatus.Unknown; + var currentTicketActivityType = SelectedTicket?.Infos.FirstOrDefault(x => x.Key == "ActivityType").Value; if (SelectedTicket != null && SelectedTicket.Infos.TryGetValue("StatusId", out var statusIdString)) { @@ -2014,22 +2016,22 @@ namespace FasdDesktopUi.Basics.UserControls } - if (a.Tag != null || !TicketStatusCombobox.IsVisible) - { - //TicketStatusCombobox.Tag = "noerror"; - if (_errors.ContainsKey(propertyName)) - _errors.Remove(propertyName); - } - else - { - //TicketStatusCombobox.Tag = "error"; - if (!_errors.ContainsKey(propertyName)) - _errors.Add(propertyName, cMultiLanguageSupport.GetItem("Dialog.CloseCase.ValidationErrorTicketActionEmpty")); - } - if (a.Tag == null) - ShowAssetWarningTicketAction = false; - else if ( - !string.Equals(a.Tag.ToString(), "Forward", StringComparison.InvariantCultureIgnoreCase) + bool ticketActionHasError = TicketStatusCombobox.IsVisible && a.Tag == null; + if (!ticketActionHasError) + { + if (_errors.ContainsKey(propertyName)) + _errors.Remove(propertyName); + } + else if (!_errors.ContainsKey(propertyName)) + { + _errors.Add(propertyName, cMultiLanguageSupport.GetItem("Dialog.CloseCase.ValidationErrorTicketActionEmpty")); + } + UpdateTicketStatusValidationVisualState(ticketActionHasError); + + if (a.Tag == null) + ShowAssetWarningTicketAction = false; + else if ( + !string.Equals(a.Tag.ToString(), "Forward", StringComparison.InvariantCultureIgnoreCase) && !string.Equals(a.Tag.ToString(), "Save", StringComparison.InvariantCultureIgnoreCase) && string.Equals(currentTicketActivityType, "SPSActivityTypeTicket", StringComparison.InvariantCultureIgnoreCase) ) @@ -2483,6 +2485,19 @@ namespace FasdDesktopUi.Basics.UserControls : defaultQuickTicketBorderBrush; } + private void UpdateTicketStatusValidationVisualState(bool hasError) + { + if (TicketStatusValidationBorder == null) + return; + + if (defaultTicketStatusBorderBrush == null) + defaultTicketStatusBorderBrush = TicketStatusValidationBorder.BorderBrush?.CloneCurrentValue(); + + TicketStatusValidationBorder.BorderBrush = hasError + ? validationErrorBrush + : defaultTicketStatusBorderBrush; + } + #region DropDown