using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Forms; using Microsoft.FluentUI.AspNetCore.Components; using Schaad.Accounting.Interfaces; using Schaad.Accounting.Models; namespace Schaad.Accounting.UI.Components.Pages.Dialogs; public partial class BookingRuleDialog : ComponentBase { private EditContext? editContext; [CascadingParameter] public FluentDialog Dialog { get; set; } = null!; [Parameter] public BookingRule Content { get; set; } = null!; [Inject] private IBookingRuleRepository bookingRuleRepository { get; set; } = null!; [Inject] private IViewService viewService { get; set; } = null!; private IReadOnlyList accounts = []; protected override async Task OnInitializedAsync() { editContext = new EditContext(Content); accounts = await viewService.GetAccountViewListAsync(); } private async Task SaveAsync() { if (editContext.Validate()) { await bookingRuleRepository.SaveBookingRuleAsync(Content); await Dialog.CloseAsync(Content); } } private async Task CancelAsync() { await Dialog.CancelAsync(); } }