Initial feature for drag / drop calendar events.

This commit is contained in:
Burak Kaan Köse
2026-04-08 23:46:02 +02:00
parent a3c35dfae5
commit 3dc4ac03ec
30 changed files with 621 additions and 4 deletions
@@ -154,6 +154,24 @@ public class CalendarItem : ICalendarItem
[Ignore]
public IAccountCalendar AssignedCalendar { get; set; }
[Ignore]
public bool CanChangeStartAndEndDate
{
get
{
if (IsLocked)
{
return false;
}
var accountAddress = AssignedCalendar?.MailAccount?.Address;
return string.IsNullOrWhiteSpace(OrganizerEmail) ||
string.IsNullOrWhiteSpace(accountAddress) ||
string.Equals(OrganizerEmail, accountAddress, StringComparison.OrdinalIgnoreCase);
}
}
/// <summary>
/// Id to load information related to this event (attendees, reminders, etc.).
/// For child events, if they have their own data, use their own Id.
+1
View File
@@ -28,6 +28,7 @@ public enum CalendarSynchronizerOperation
{
CreateEvent,
UpdateEvent,
ChangeStartAndEndDate,
DeleteEvent,
AcceptEvent,
DeclineEvent,
@@ -7,7 +7,7 @@ namespace Wino.Core.Domain.Models.Calendar;
/// <summary>
/// Encapsulates the options for preparing calendar operation requests.
/// </summary>
/// <param name="Operation">Calendar operation to execute (Create, Update, Delete, Accept, Decline, Tentative).</param>
/// <param name="Operation">Calendar operation to execute (Create, Update, ChangeStartAndEndDate, Delete, Accept, Decline, Tentative).</param>
/// <param name="CalendarItem">Calendar item to operate on.</param>
/// <param name="Attendees">List of attendees for the calendar event.</param>
/// <param name="ResponseMessage">Optional message to include with event responses (Accept, Decline, Tentative).</param>
@@ -210,6 +210,8 @@
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
"CalendarDragDropMoveNotAllowedMessage": "Only events you own and can edit can be moved.",
"CalendarDragDropMoveNotAllowedTitle": "This event can't be moved",
"CalendarItemAllDay": "all day",
"CategoriesFolderNameOverride": "Categories",
"Center": "Center",