diff --git a/Elwig/Controls/CheckComboBox.cs b/Elwig/Controls/CheckComboBox.cs index a66864f..fe94f66 100644 --- a/Elwig/Controls/CheckComboBox.cs +++ b/Elwig/Controls/CheckComboBox.cs @@ -8,7 +8,7 @@ using System.Windows.Controls; namespace Elwig.Controls { public class CheckComboBox : ListBox { - public new static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register(nameof(SelectedItems), typeof(IList), typeof(CheckComboBox), new FrameworkPropertyMetadata(new ObservableCollection(), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnSelectedItemsChangedCallback)); + public new static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register(nameof(SelectedItems), typeof(IList), typeof(CheckComboBox), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnSelectedItemsChangedCallback)); public new IList SelectedItems { get => (IList)GetValue(SelectedItemsProperty); set => SetValue(SelectedItemsProperty, value); @@ -72,6 +72,7 @@ namespace Elwig.Controls { public CheckComboBox() { SelectionMode = SelectionMode.Multiple; + SelectedItems = new ObservableCollection(); } public override void OnApplyTemplate() { diff --git a/Elwig/Windows/MailWindow.xaml b/Elwig/Windows/MailWindow.xaml index a00e448..ca68832 100644 --- a/Elwig/Windows/MailWindow.xaml +++ b/Elwig/Windows/MailWindow.xaml @@ -1,5 +1,6 @@  b.Members.Any()) + .Where(b => b.Members.Count != 0) .OrderBy(b => b.Name) .ToListAsync(), MemberInput_SelectionChanged); if (MemberBranchInput.SelectedItems.Count == 0) { @@ -148,7 +148,7 @@ namespace Elwig.Windows { MemberBranchInput.SelectionChanged += MemberInput_SelectionChanged; } ControlUtils.RenewItemsSource(MemberKgInput, await ctx.Katastralgemeinden - .Where(k => k.WbKg!.Members.Any()) + .Where(k => k.WbKg!.Members.Count != 0) .OrderBy(k => k.Name) .ToListAsync(), MemberInput_SelectionChanged); if (MemberKgInput.SelectedItems.Count == 0) { @@ -561,7 +561,7 @@ namespace Elwig.Windows { double totalNum = printNum + emailNum; var email = memberDocs - .Where(d => d.Docs.Count > 0 && d.Member.EmailAddresses.Any() && (emailMode == 2 || (emailMode == 1 && d.Member.ContactViaEmail))) + .Where(d => d.Docs.Count > 0 && d.Member.EmailAddresses.Count > 0 && (emailMode == 2 || (emailMode == 1 && d.Member.ContactViaEmail))) .ToDictionary(d => d.Member, m => { var docs = m.Docs.Select(d => d.Doc).ToList(); foreach (var doc in docs) { diff --git a/Tests/E2ETests/MainWindowTest.cs b/Tests/E2ETests/MainWindowTest.cs index 677e5ec..1fd2dd6 100644 --- a/Tests/E2ETests/MainWindowTest.cs +++ b/Tests/E2ETests/MainWindowTest.cs @@ -46,5 +46,16 @@ window.Close(); }); } + + [Test] + public void Test_Open_MailWindow() { + Assert.DoesNotThrow(() => { + Session.App.FindElement(By.Name("Rundschreiben")).Click(); + Thread.Sleep(Utils.WINDOW_OPEN_SLEEP); + var window = Session.CreateWindowDriver("MailWindow"); + Assert.That(window.Title, Is.EqualTo($"Rundschreiben - Lese {Elwig.Helpers.Utils.Today.Year} - Elwig")); + window.Close(); + }); + } } }