using Itenso.TimePeriod;
using Wino.Core.Domain.Entities.Calendar;
using Wino.Core.Domain.Models.Calendar;
namespace Wino.Core.Domain.Interfaces;
///
/// Temporarily to enforce CalendarItemViewModel. Used in CalendarEventCollection.
///
public interface ICalendarItemViewModel
{
bool IsSelected { get; set; }
bool IsBusy { get; set; }
///
/// The period of the day where this item is currently being displayed.
///
ITimePeriod DisplayingPeriod { get; set; }
///
/// Calendar settings for time formatting.
///
CalendarSettings CalendarSettings { get; set; }
///
/// Updates the view model's underlying CalendarItem from new data.
/// This allows in-place updates without removing and re-adding items.
///
/// The updated calendar item data.
void UpdateFrom(CalendarItem calendarItem);
}