rote rahmen für req im fallabschluss

This commit is contained in:
Meik
2025-11-13 15:03:17 +01:00
parent 5a8cbe8716
commit 7653b92eb6
8 changed files with 206 additions and 93 deletions

View File

@@ -5,15 +5,27 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using static C4IT.Logging.cLogManager;
namespace FasdDesktopUi.Basics.UserControls
{
public partial class ForwardTicketDialog : UserControl
{
private readonly cSupportCaseDataProvider _dataProvider;
private readonly cSupportCaseDataProvider _dataProvider;
private static readonly Brush ValidationBrush = CreateValidationBrush();
private static Brush CreateValidationBrush()
{
var brush = new SolidColorBrush(Color.FromRgb(0xF5, 0x7C, 0x73));
if (brush.CanFreeze)
brush.Freeze();
return brush;
}
private Brush defaultRoleBorderBrush;
private Brush defaultPersonBorderBrush;
string lastPersonSearch = string.Empty;
string lastRoleSearch = string.Empty;
@@ -71,11 +83,14 @@ namespace FasdDesktopUi.Basics.UserControls
}
public ForwardTicketDialog(cSupportCaseDataProvider dataProvider)
{
InitializeComponent();
_dataProvider = dataProvider;
}
public ForwardTicketDialog(cSupportCaseDataProvider dataProvider)
{
InitializeComponent();
_dataProvider = dataProvider;
defaultRoleBorderBrush = RoleValidationBorder?.BorderBrush?.CloneCurrentValue();
defaultPersonBorderBrush = PersonValidationBorder?.BorderBrush?.CloneCurrentValue();
UpdateResponsibleSelectionValidationState(true);
}
protected override void OnInitialized(EventArgs e)
{
@@ -169,8 +184,8 @@ namespace FasdDesktopUi.Basics.UserControls
}
}
private ObservableCollection<KeyValuePair<string, object>> GetRoleSelectionData(cF4SDHealthCardRawData.cHealthCardTable dataTable)
{
private ObservableCollection<KeyValuePair<string, object>> GetRoleSelectionData(cF4SDHealthCardRawData.cHealthCardTable dataTable)
{
try
{
if (dataTable is null || dataTable.Name != "M42Wpm-Ticket-Roles")
@@ -191,6 +206,30 @@ namespace FasdDesktopUi.Basics.UserControls
}
return null;
}
}
}
}
public void UpdateResponsibleSelectionValidationState(bool hasError)
{
try
{
if (RoleValidationBorder != null)
{
if (defaultRoleBorderBrush == null)
defaultRoleBorderBrush = RoleValidationBorder.BorderBrush?.CloneCurrentValue();
RoleValidationBorder.BorderBrush = hasError ? ValidationBrush : defaultRoleBorderBrush;
}
if (PersonValidationBorder != null)
{
if (defaultPersonBorderBrush == null)
defaultPersonBorderBrush = PersonValidationBorder.BorderBrush?.CloneCurrentValue();
PersonValidationBorder.BorderBrush = hasError ? ValidationBrush : defaultPersonBorderBrush;
}
}
catch (Exception E)
{
LogException(E);
}
}
}
}