using EgwCoreLib.Razor.Data; using Microsoft.AspNetCore.Components; namespace GPW.CORE.Smart8.Components.Compo { public partial class TestWeekCal { #region Public Properties [Parameter] public DateTime DtReq { get; set; } = DateTime.Today; [Parameter] public int NumDays { get; set; } = 1; #endregion Public Properties #region Protected Fields protected List ListDate = new List(); [Parameter] public List eventList { get; set; } = new List(); protected List eventListPerWeek { get; set; } = new List(); #endregion Protected Fields #region Protected Methods protected async Task ChangePeriod(int numStep) { ListDate = new List(); await Task.Delay(1); DtReq = DtReq.AddDays(NumDays * numStep); await reloadData(); await Task.Delay(1); } protected override async Task OnInitializedAsync() { await reloadData(); } protected override async Task OnParametersSetAsync() { await reloadData(); } #endregion Protected Methods #region Private Methods protected Random rnd = new Random(); private async Task reloadData() { ListDate = new List(); int nWeek = DtReq.DayOfWeek - DayOfWeek.Monday; if (NumDays < 5 || NumDays > 7) { nWeek = 0; } for (int i = 0; i < NumDays; i++) { ListDate.Add(DtReq.AddDays(i - nWeek)); } eventListPerWeek = eventList.Where(x => ListDate.Contains(x.Inizio)).ToList(); await Task.Delay(1); } #endregion Private Methods } }