@using Template.Shared.Core.Dto @using Template.Shared.Core.Interface @using Template.Shared.Components.Layout.Spinner @inject IManageDataService manageData
@if (Load) { } else { @if (!Activities.IsNullOrEmpty()) { @foreach (var activity in Activities!) { } } else { } }
@code { [Parameter] public required DateTime? Date { get; set; } [Parameter] public EventCallback DateChanged { get; set; } private List? Activities { get; set; } private bool Load { get; set; } = true; protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await LoadData(); } } protected override async Task OnParametersSetAsync() { await LoadData(); } private async Task LoadData() { Load = true; StateHasChanged(); await Task.Delay(500); var refreshActivity = await RefreshActivity(); Activities = refreshActivity; Load = false; StateHasChanged(); } private async Task> RefreshActivity() { var activityDto = await Task.Run(async () => { return (await manageData.GetActivity(x => (x.EffectiveDate == null && x.EstimatedDate.Equals(Date)) || x.EffectiveDate.Equals(Date))) .OrderBy(x => x.EffectiveDate ?? x.EstimatedDate) .ToList(); }); return activityDto; } }