Compare commits
	
		
			2 Commits
		
	
	
		
			db5f6dbef0
			...
			c0e584143e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c0e584143e | |||
| cb2534d678 | 
| @@ -54,10 +54,10 @@ namespace Elwig.Models { | ||||
|         public virtual WineOrigin Origin { get; private set; } | ||||
|  | ||||
|         [Column("kgnr")] | ||||
|         public int KgNr { get; set; } | ||||
|         public int? KgNr { get; set; } | ||||
|  | ||||
|         [ForeignKey("KgNr")] | ||||
|         public virtual WbKg Kg { get; private set; } | ||||
|         public virtual WbKg? Kg { get; private set; } | ||||
|  | ||||
|         [Column("rdnr")] | ||||
|         public int? RdNr { get; set; } | ||||
|   | ||||
| @@ -7,6 +7,7 @@ using System.Linq; | ||||
| using System.Threading.Tasks; | ||||
| using System.Windows; | ||||
| using System.Windows.Controls; | ||||
| using System.Windows.Threading; | ||||
| using Xceed.Wpf.Toolkit; | ||||
|  | ||||
| namespace Elwig.Windows { | ||||
| @@ -225,6 +226,22 @@ namespace Elwig.Windows { | ||||
|             UpdateComboBox(ortInput); | ||||
|         } | ||||
|  | ||||
|         protected static void InitializeDelayTimer(TextBox tb, Action<object, TextChangedEventArgs> handler) { | ||||
|             var timer = new DispatcherTimer { | ||||
|                 Interval = TimeSpan.FromMilliseconds(250) | ||||
|             }; | ||||
|             timer.Tick += (object? sender, EventArgs evt) => { | ||||
|                 timer.Stop(); | ||||
|                 var (oSender, oEvent) = ((object, TextChangedEventArgs))timer.Tag; | ||||
|                 handler(oSender, oEvent); | ||||
|             }; | ||||
|             tb.TextChanged += (object sender, TextChangedEventArgs evt) => { | ||||
|                 timer.Stop(); | ||||
|                 timer.Tag = (sender, evt); | ||||
|                 timer.Start(); | ||||
|             }; | ||||
|         } | ||||
|  | ||||
|         protected bool InputTextChanged(TextBox input, Func<TextBox, bool, ValidationResult> checker) { | ||||
|             return InputTextChanged(input, (tb, required, ctx) => checker(tb, required)); | ||||
|         } | ||||
|   | ||||
| @@ -43,6 +43,9 @@ namespace Elwig.Windows { | ||||
|             Timer = new DispatcherTimer(); | ||||
|             Timer.Tick += new EventHandler(OnSecondPassed); | ||||
|             Timer.Interval = new TimeSpan(0, 0, 1); | ||||
|  | ||||
|             InitializeDelayTimer(SearchInput, SearchInput_TextChanged); | ||||
|             SearchInput.TextChanged -= SearchInput_TextChanged; | ||||
|         } | ||||
|  | ||||
|         public DeliveryAdminWindow(bool receipt) : this() { | ||||
|   | ||||
| @@ -50,6 +50,9 @@ namespace Elwig.Windows { | ||||
|                 (PhoneNr9TypeInput, PhoneNr9Input, PhoneNr9CommentInput), | ||||
|             }; | ||||
|             foreach (var input in PhoneNrInputs) input.Item1.ItemsSource = PhoneNrTypes; | ||||
|  | ||||
|             InitializeDelayTimer(SearchInput, SearchInput_TextChanged); | ||||
|             SearchInput.TextChanged -= SearchInput_TextChanged; | ||||
|         } | ||||
|  | ||||
|         private void Window_Loaded(object sender, RoutedEventArgs evt) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user