@using ConSegna.Shared.Core.Helpers @using Template.Shared.Core.Dto @using Template.Shared.Core.Interface @inject IManageDataService manageData
@{ DateTime? currentDate = null; } @if (!Activities.IsNullOrEmpty()) { foreach (var activity in Activities!) { var dateToShow = activity.EffectiveDate ?? activity.EstimatedDate; if (currentDate != dateToShow?.Date) { currentDate = dateToShow?.Date;
@($"{currentDate:D}")
} } } else { }
@code { [Parameter] public required DateRange Date { get; set; } [Parameter] public EventCallback DateChanged { get; set; } private List? Activities { get; set; } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await LoadData(); } } protected override async Task OnParametersSetAsync() { await LoadData(); } private async Task LoadData() { await Task.Delay(1000); var refreshActivity = await RefreshActivity(); Activities = refreshActivity; StateHasChanged(); } private async Task> RefreshActivity() { var activityDto = await Task.Run(async () => { return Activities = (await manageData.GetActivity(x => (x.EffectiveDate == null && x.EstimatedDate >= Date.Start && x.EstimatedDate <= Date.End) || (x.EffectiveDate >= Date.Start && x.EffectiveDate <= Date.End) )) .OrderBy(x => x.EffectiveDate ?? x.EstimatedDate) .ToList(); }); return activityDto; } }