[#43] BaseDataWindow: Fix editing

This commit is contained in:
2024-03-21 11:29:35 +01:00
parent 87da56b7a9
commit b6e37c0c67

View File

@ -10,6 +10,8 @@ using System.Windows.Controls;
namespace Elwig.Windows { namespace Elwig.Windows {
public partial class BaseDataWindow : AdministrationWindow { public partial class BaseDataWindow : AdministrationWindow {
protected AppDbContext? EditContext;
public BaseDataWindow() { public BaseDataWindow() {
InitializeComponent(); InitializeComponent();
RequiredInputs = [ RequiredInputs = [
@ -193,30 +195,28 @@ namespace Elwig.Windows {
} }
private async Task InitEditing() { private async Task InitEditing() {
using var ctx = new AppDbContext(); EditContext = new AppDbContext();
await BranchesInitEditing(ctx); await BranchesInitEditing(EditContext);
await WineAttributesInitEditing(ctx); await WineAttributesInitEditing(EditContext);
await WineCultivationsInitEditing(ctx); await WineCultivationsInitEditing(EditContext);
await AreaCommitmentTypesInitEditing(ctx); await AreaCommitmentTypesInitEditing(EditContext);
await SeasonsInitEditing(ctx); await SeasonsInitEditing(EditContext);
await ModifiersInitEditing(ctx); await ModifiersInitEditing(EditContext);
} }
private async Task Save() { private async Task Save() {
using var ctx = new AppDbContext();
// FIXME
//using var tx = await ctx.Database.BeginTransactionAsync();
await UpdateClientParameters(App.Client); await UpdateClientParameters(App.Client);
await BranchesSave(ctx); await BranchesSave(EditContext!);
await WineAttributesSave(ctx); await WineAttributesSave(EditContext!);
await WineCultivationsSave(ctx); await WineCultivationsSave(EditContext!);
await AreaCommitmentTypesSave(ctx); await AreaCommitmentTypesSave(EditContext!);
await SeasonsSave(ctx); await SeasonsSave(EditContext!);
await ModifiersSave(ctx); await ModifiersSave(EditContext!);
//await tx.CommitAsync();
} }
private async Task FinishEditing() { private async Task FinishEditing() {
EditContext?.Dispose();
EditContext = null;
using var ctx = new AppDbContext(); using var ctx = new AppDbContext();
await BranchesFinishEditing(ctx); await BranchesFinishEditing(ctx);
await WineAttributesFinishEditing(ctx); await WineAttributesFinishEditing(ctx);