88 lines
2.3 KiB
Plaintext
88 lines
2.3 KiB
Plaintext
@using Template.Shared.Core.Dto
|
|
@using Template.Shared.Core.Interface
|
|
@using Template.Shared.Components.Layout.Spinner
|
|
@inject IManageDataService manageData
|
|
|
|
<div class="calendar">
|
|
@{
|
|
DateTime? currentDate = null;
|
|
}
|
|
|
|
@if (Load)
|
|
{
|
|
<SpinnerLayout FullScreen="false"/>
|
|
}
|
|
else
|
|
{
|
|
@if (!Activities.IsNullOrEmpty())
|
|
{
|
|
foreach (var activity in Activities!)
|
|
{
|
|
var dateToShow = activity.EffectiveDate ?? activity.EstimatedDate;
|
|
|
|
if (currentDate != dateToShow?.Date)
|
|
{
|
|
currentDate = dateToShow?.Date;
|
|
<div class="week-info">
|
|
<span>@($"{currentDate:D}")</span>
|
|
</div>
|
|
}
|
|
|
|
<ActivityCard Activity="activity"/>
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<NoDataAvailable Text="Nessuna attività trovata" ImageSource="_content/Template.Shared/images/undraw_file-search_cbur.svg"/>
|
|
}
|
|
}
|
|
</div>
|
|
|
|
@code
|
|
{
|
|
[Parameter] public required DateRange Date { get; set; }
|
|
[Parameter] public EventCallback<DateRange> DateChanged { get; set; }
|
|
|
|
private List<ActivityDTO>? 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<List<ActivityDTO>> RefreshActivity()
|
|
{
|
|
var activityDto = await Task.Run(async () =>
|
|
{
|
|
return (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;
|
|
}
|
|
} |