[#78] DeliveryService: Add bulk actions for attributes and modifiers
All checks were successful
Test / Run tests (push) Successful in 1m42s
All checks were successful
Test / Run tests (push) Successful in 1m42s
This commit is contained in:
@@ -14,6 +14,7 @@ using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Threading;
|
||||
|
||||
namespace Elwig.Windows {
|
||||
@@ -283,6 +284,21 @@ namespace Elwig.Windows {
|
||||
private async void Menu_DeliveryDataList_SaveFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
await ViewModel.GenerateDeliveryDataList(DeliveryService.ExportSubject.FromFilters, ExportMode.SaveList);
|
||||
|
||||
private async void Menu_BulkAction_SetAttribute_Click(object sender, RoutedEventArgs evt) {
|
||||
if (sender is not MenuItem item) return;
|
||||
await ViewModel.BulkSetAttribute(item.Header as string);
|
||||
}
|
||||
|
||||
private async void Menu_BulkAction_AddModifier_Click(object sender, RoutedEventArgs evt) {
|
||||
if (sender is not MenuItem item || item.Header is not string name) return;
|
||||
await ViewModel.BulkAddModifier(name);
|
||||
}
|
||||
|
||||
private async void Menu_BulkAction_RemoveModifier_Click(object sender, RoutedEventArgs evt) {
|
||||
if (sender is not MenuItem item || item.Header is not string name) return;
|
||||
await ViewModel.BulkRemoveModifier(name);
|
||||
}
|
||||
|
||||
private void Menu_Settings_EnableFreeEditing_Checked(object sender, RoutedEventArgs evt) {
|
||||
if (IsEditing || IsCreating) {
|
||||
DateInput.IsReadOnly = false;
|
||||
@@ -468,8 +484,10 @@ namespace Elwig.Windows {
|
||||
ViewModel.Title = $"Lieferungen - {ViewModel.FilterMember.AdministrativeName} - Elwig";
|
||||
}
|
||||
|
||||
int year = 0;
|
||||
Menu_Bki_SaveList.Items.Clear();
|
||||
foreach (var s in await ctx.Seasons.OrderByDescending(s => s.Year).ToListAsync()) {
|
||||
if (s.Year > year) year = s.Year;
|
||||
var i = new MenuItem {
|
||||
Header = $"Saison {s.Year}",
|
||||
};
|
||||
@@ -477,6 +495,37 @@ namespace Elwig.Windows {
|
||||
Menu_Bki_SaveList.Items.Add(i);
|
||||
}
|
||||
|
||||
var font = new FontFamily("Segoe MDL2 Assets");
|
||||
Menu_BulkAction_SetAttribute.Items.Clear();
|
||||
var noAttr = new MenuItem {
|
||||
Header = new TextBlock() { Text = "Kein Attribut", FontStyle = FontStyles.Italic },
|
||||
Icon = new TextBlock() { Text = "\ue75c", FontFamily = font, FontSize = 16 },
|
||||
};
|
||||
noAttr.Click += Menu_BulkAction_SetAttribute_Click;
|
||||
Menu_BulkAction_SetAttribute.Items.Add(noAttr);
|
||||
foreach (var attr in await ctx.WineAttributes.OrderBy(a => a.AttrId).ToListAsync()) {
|
||||
var i = new MenuItem {
|
||||
Header = attr.Name,
|
||||
};
|
||||
i.Click += Menu_BulkAction_SetAttribute_Click;
|
||||
Menu_BulkAction_SetAttribute.Items.Add(i);
|
||||
}
|
||||
|
||||
Menu_BulkAction_AddModifier.Items.Clear();
|
||||
Menu_BulkAction_RemoveModifier.Items.Clear();
|
||||
foreach (var mod in await ctx.Modifiers.Where(m => m.Year == year).OrderBy(m => m.ModId).ToListAsync()) {
|
||||
var i1 = new MenuItem {
|
||||
Header = mod.Name,
|
||||
};
|
||||
i1.Click += Menu_BulkAction_AddModifier_Click;
|
||||
Menu_BulkAction_AddModifier.Items.Add(i1);
|
||||
var i2 = new MenuItem {
|
||||
Header = mod.Name,
|
||||
};
|
||||
i2.Click += Menu_BulkAction_RemoveModifier_Click;
|
||||
Menu_BulkAction_RemoveModifier.Items.Add(i2);
|
||||
}
|
||||
|
||||
await RefreshList();
|
||||
var d = DeliveryList.SelectedItem as Delivery;
|
||||
var y = d?.Year ?? ViewModel.FilterSeason;
|
||||
|
||||
Reference in New Issue
Block a user