Initial event composing.

This commit is contained in:
Burak Kaan Köse
2026-03-06 17:46:38 +01:00
parent e1be644631
commit 6608baed69
27 changed files with 1938 additions and 13 deletions
@@ -0,0 +1,12 @@
using System;
namespace Wino.Core.Domain.Models.Calendar;
public class CalendarEventComposeAttachmentDraft
{
public Guid Id { get; set; }
public string FileName { get; set; } = string.Empty;
public string FilePath { get; set; } = string.Empty;
public string FileExtension { get; set; } = string.Empty;
public long Size { get; set; }
}
@@ -0,0 +1,13 @@
using System;
namespace Wino.Core.Domain.Models.Calendar;
public class CalendarEventComposeNavigationArgs
{
public Guid? SelectedCalendarId { get; set; }
public string Title { get; set; } = string.Empty;
public string Location { get; set; } = string.Empty;
public bool IsAllDay { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using Wino.Core.Domain.Entities.Calendar;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models.Calendar;
public class CalendarEventComposeResult
{
public Guid CalendarId { get; set; }
public Guid AccountId { get; set; }
public string Title { get; set; } = string.Empty;
public string Location { get; set; } = string.Empty;
public string HtmlNotes { get; set; } = string.Empty;
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public bool IsAllDay { get; set; }
public string TimeZoneId { get; set; } = string.Empty;
public CalendarItemShowAs ShowAs { get; set; }
public List<Reminder> SelectedReminders { get; set; } = [];
public List<CalendarEventAttendee> Attendees { get; set; } = [];
public List<CalendarEventComposeAttachmentDraft> Attachments { get; set; } = [];
public string Recurrence { get; set; } = string.Empty;
public string RecurrenceSummary { get; set; } = string.Empty;
}
@@ -0,0 +1,11 @@
using System.Collections.Generic;
using Wino.Core.Domain.Entities.Calendar;
using Wino.Core.Domain.Entities.Shared;
namespace Wino.Core.Domain.Models.Calendar;
public class CalendarPickerAccountGroup
{
public MailAccount Account { get; set; } = null!;
public List<AccountCalendar> Calendars { get; set; } = [];
}
@@ -0,0 +1,9 @@
using System.IO;
namespace Wino.Core.Domain.Models.Common;
public record PickedFileMetadata(string FullFilePath, long Size)
{
public string FileName => Path.GetFileName(FullFilePath);
public string FileExtension => Path.GetExtension(FullFilePath)?.ToLowerInvariant() ?? string.Empty;
}