2024-11-10 23:28:25 +01:00
|
|
|
|
using System;
|
2024-11-30 12:47:24 +01:00
|
|
|
|
using Itenso.TimePeriod;
|
2024-11-10 23:28:25 +01:00
|
|
|
|
using SQLite;
|
|
|
|
|
|
using Wino.Core.Domain.Enums;
|
2024-11-30 12:47:24 +01:00
|
|
|
|
using Wino.Core.Domain.Interfaces;
|
2024-11-10 23:28:25 +01:00
|
|
|
|
|
|
|
|
|
|
namespace Wino.Core.Domain.Entities.Calendar
|
|
|
|
|
|
{
|
2024-11-30 12:47:24 +01:00
|
|
|
|
public class CalendarItem : ICalendarItem
|
2024-11-10 23:28:25 +01:00
|
|
|
|
{
|
|
|
|
|
|
[PrimaryKey]
|
|
|
|
|
|
public Guid Id { get; set; }
|
|
|
|
|
|
public string Title { get; set; }
|
|
|
|
|
|
public string Description { get; set; }
|
|
|
|
|
|
public string Location { get; set; }
|
|
|
|
|
|
public DateTimeOffset StartTime { get; set; }
|
2024-12-27 00:18:46 +01:00
|
|
|
|
public int DurationInMinutes { get; set; }
|
|
|
|
|
|
public string Recurrence { get; set; }
|
2024-11-10 23:28:25 +01:00
|
|
|
|
public CalendarItemStatus Status { get; set; }
|
|
|
|
|
|
public CalendarItemVisibility Visibility { get; set; }
|
|
|
|
|
|
public DateTimeOffset CreatedAt { get; set; }
|
|
|
|
|
|
public DateTimeOffset UpdatedAt { get; set; }
|
|
|
|
|
|
public Guid CalendarId { get; set; }
|
2024-11-30 12:47:24 +01:00
|
|
|
|
|
|
|
|
|
|
[Ignore]
|
2024-12-27 00:18:46 +01:00
|
|
|
|
public TimeRange Period => new TimeRange(StartTime.Date, StartTime.Date.AddMinutes(DurationInMinutes));
|
2024-12-29 19:37:36 +01:00
|
|
|
|
|
|
|
|
|
|
[Ignore]
|
|
|
|
|
|
public IAccountCalendar AssignedCalendar { get; set; }
|
2024-11-10 23:28:25 +01:00
|
|
|
|
}
|
|
|
|
|
|
}
|