Files
Wino-Mail/Wino.Calendar.ViewModels/Data/CalendarItemViewModel.cs

47 lines
1.6 KiB
C#
Raw Normal View History

2024-12-28 23:17:16 +01:00
using System;
using System.Collections.ObjectModel;
2024-12-28 23:17:16 +01:00
using CommunityToolkit.Mvvm.ComponentModel;
using Itenso.TimePeriod;
using Wino.Core.Domain.Entities.Calendar;
2024-12-28 23:17:16 +01:00
using Wino.Core.Domain.Interfaces;
namespace Wino.Calendar.ViewModels.Data
{
public partial class CalendarItemViewModel : ObservableObject, ICalendarItem, ICalendarItemViewModel
2024-12-28 23:17:16 +01:00
{
public CalendarItem CalendarItem { get; }
2024-12-28 23:17:16 +01:00
public string Title => CalendarItem.Title;
public Guid Id => CalendarItem.Id;
public IAccountCalendar AssignedCalendar => CalendarItem.AssignedCalendar;
2024-12-28 23:17:16 +01:00
public DateTime StartDate { get => CalendarItem.StartDate; set => CalendarItem.StartDate = value; }
2024-12-28 23:17:16 +01:00
public DateTime EndDate => CalendarItem.EndDate;
2024-12-28 23:17:16 +01:00
public double DurationInSeconds { get => CalendarItem.DurationInSeconds; set => CalendarItem.DurationInSeconds = value; }
public ITimePeriod Period => CalendarItem.Period;
public bool IsAllDayEvent => CalendarItem.IsAllDayEvent;
public bool IsMultiDayEvent => CalendarItem.IsMultiDayEvent;
public bool IsRecurringEvent => CalendarItem.IsRecurringEvent;
public bool IsRecurringChild => CalendarItem.IsRecurringChild;
public bool IsRecurringParent => CalendarItem.IsRecurringParent;
[ObservableProperty]
private bool _isSelected;
public ObservableCollection<CalendarEventAttendee> Attendees { get; } = new ObservableCollection<CalendarEventAttendee>();
public CalendarItemViewModel(CalendarItem calendarItem)
2024-12-28 23:17:16 +01:00
{
CalendarItem = calendarItem;
}
public override string ToString() => CalendarItem.Title;
2024-12-28 23:17:16 +01:00
}
}