61 lines
1.6 KiB
Plaintext
61 lines
1.6 KiB
Plaintext
@using ConSegna.Shared.Core.Helpers
|
|
@using Template.Shared.Core.Dto
|
|
@using Template.Shared.Core.Interface
|
|
@inject IManageDataService manageData
|
|
|
|
<div class="calendar">
|
|
@if (!Activities.IsNullOrEmpty())
|
|
{
|
|
@foreach (var activity in Activities!)
|
|
{
|
|
<ActivityCard Activity="activity"/>
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<NoDataAvailable Text="Nessuna attività trovata" ImageSource="_content/Template.Shared/images/undraw_file-search_cbur.svg"/>
|
|
}
|
|
</div>
|
|
|
|
|
|
@code
|
|
{
|
|
[Parameter] public required DateTime? Date { get; set; }
|
|
[Parameter] public EventCallback<DateTime?> DateChanged { get; set; }
|
|
|
|
private List<ActivityDTO>? Activities { get; set; } = null;
|
|
|
|
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<List<ActivityDTO>> 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;
|
|
}
|
|
} |