Skip to content

Commit

Permalink
add - doc - Added calendar component addition!
Browse files Browse the repository at this point in the history
---

We've added calendar component addition functions to the calendars!

---

Type: add
Breaking: False
Doc Required: True
Backport Required: False
Part: 1/1
  • Loading branch information
AptiviCEO committed Feb 9, 2025
1 parent 312d376 commit 256f834
Show file tree
Hide file tree
Showing 4 changed files with 140 additions and 0 deletions.
84 changes: 84 additions & 0 deletions public/VisualCard.Calendar/Parts/Calendar.cs
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,90 @@ public class Calendar : IEquatable<Calendar>
public virtual ReadOnlyDictionary<CalendarIntegersEnum, ReadOnlyCollection<ValueInfo<double>>> Integers =>
new(integers.ToDictionary((kvp) => kvp.Key, (kvp) => kvp.Value.AsReadOnly()));

/// <summary>
/// Adds an event to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="eventInstance">Instance of a calendar event</param>
public void AddEvent(CalendarEvent eventInstance) =>
events.Add(eventInstance);

/// <summary>
/// Deletes an event from the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="eventInstance">Instance of a calendar event</param>
public void DeleteEvent(CalendarEvent eventInstance) =>
events.Remove(eventInstance);

/// <summary>
/// Adds a todo to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="todoInstance">Instance of a calendar todo</param>
public void AddTodo(CalendarTodo todoInstance) =>
todos.Add(todoInstance);

/// <summary>
/// Deletes a todo to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="todoInstance">Instance of a calendar todo</param>
public void DeleteTodo(CalendarTodo todoInstance) =>
todos.Remove(todoInstance);

/// <summary>
/// Adds a journal to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="journalInstance">Instance of a calendar journal</param>
public void AddJournal(CalendarJournal journalInstance) =>
journals.Add(journalInstance);

/// <summary>
/// Deletes a journal to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="journalInstance">Instance of a calendar journal</param>
public void DeleteJournal(CalendarJournal journalInstance) =>
journals.Remove(journalInstance);

/// <summary>
/// Adds a free/busy info to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="freeBusyInstance">Instance of a calendar free/busy info</param>
public void AddFreeBusy(CalendarFreeBusy freeBusyInstance) =>
freeBusyList.Add(freeBusyInstance);

/// <summary>
/// Deletes a free/busy info to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="freeBusyInstance">Instance of a calendar free/busy info</param>
public void DeleteFreeBusy(CalendarFreeBusy freeBusyInstance) =>
freeBusyList.Remove(freeBusyInstance);

/// <summary>
/// Adds a timezone to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="timeZoneInstance">Instance of a calendar timezone</param>
public void AddTimeZone(CalendarTimeZone timeZoneInstance) =>
timeZones.Add(timeZoneInstance);

/// <summary>
/// Deletes a timezone to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="timeZoneInstance">Instance of a calendar timezone</param>
public void DeleteTimeZone(CalendarTimeZone timeZoneInstance) =>
timeZones.Remove(timeZoneInstance);

/// <summary>
/// Adds a custom component to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="otherInstance">Instance of a calendar custom component</param>
public void AddOther(CalendarOtherComponent otherInstance) =>
others.Add(otherInstance);

/// <summary>
/// Deletes a custom component to the calendar (To validate, you'll need to call <see cref="Validate"/>).
/// </summary>
/// <param name="otherInstance">Instance of a calendar custom component</param>
public void DeleteOther(CalendarOtherComponent otherInstance) =>
others.Remove(otherInstance);

/// <summary>
/// Gets a part array from a specified key
/// </summary>
Expand Down
14 changes: 14 additions & 0 deletions public/VisualCard.Calendar/Parts/CalendarEvent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,20 @@ public class CalendarEvent : Calendar, IEquatable<CalendarEvent>
public CalendarAlarm[] Alarms =>
[.. alarms];

/// <summary>
/// Adds an alarm to the calendar event (To validate, you'll need to call <see cref="Calendar.Validate"/>).
/// </summary>
/// <param name="alarmInstance">Instance of a calendar alarm</param>
public void AddAlarm(CalendarAlarm alarmInstance) =>
alarms.Add(alarmInstance);

/// <summary>
/// Deletes an alarm to the calendar event (To validate, you'll need to call <see cref="Calendar.Validate"/>).
/// </summary>
/// <param name="alarmInstance">Instance of a calendar alarm</param>
public void DeleteAlarm(CalendarAlarm alarmInstance) =>
alarms.Remove(alarmInstance);

/// <summary>
/// Gets a part array from a specified key
/// </summary>
Expand Down
28 changes: 28 additions & 0 deletions public/VisualCard.Calendar/Parts/CalendarTimeZone.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,34 @@ public class CalendarTimeZone : Calendar, IEquatable<CalendarTimeZone>
public CalendarDaylight[] DaylightTimeList =>
[.. daylights];

/// <summary>
/// Adds a standard time to the calendar time zone info (To validate, you'll need to call <see cref="Calendar.Validate"/>).
/// </summary>
/// <param name="standardInstance">Instance of a calendar standard time info</param>
public void AddStandardTime(CalendarStandard standardInstance) =>
standards.Add(standardInstance);

/// <summary>
/// Deletes a standard time to the calendar time zone info (To validate, you'll need to call <see cref="Calendar.Validate"/>).
/// </summary>
/// <param name="standardInstance">Instance of a calendar standard time info</param>
public void DeleteStandardTime(CalendarStandard standardInstance) =>
standards.Remove(standardInstance);

/// <summary>
/// Adds a daylight time to the calendar time zone info (To validate, you'll need to call <see cref="Calendar.Validate"/>).
/// </summary>
/// <param name="daylightInstance">Instance of a calendar daylight time info</param>
public void AddDaylightTime(CalendarDaylight daylightInstance) =>
daylights.Add(daylightInstance);

/// <summary>
/// Deletes a daylight time to the calendar time zone info (To validate, you'll need to call <see cref="Calendar.Validate"/>).
/// </summary>
/// <param name="daylightInstance">Instance of a calendar daylight time info</param>
public void DeleteDaylightTime(CalendarDaylight daylightInstance) =>
daylights.Remove(daylightInstance);

/// <summary>
/// Gets a part array from a specified key
/// </summary>
Expand Down
14 changes: 14 additions & 0 deletions public/VisualCard.Calendar/Parts/CalendarTodo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,20 @@ public class CalendarTodo : Calendar, IEquatable<CalendarTodo>
public CalendarAlarm[] Alarms =>
[.. alarms];

/// <summary>
/// Adds an alarm to the calendar todo (To validate, you'll need to call <see cref="Calendar.Validate"/>).
/// </summary>
/// <param name="alarmInstance">Instance of a calendar alarm</param>
public void AddAlarm(CalendarAlarm alarmInstance) =>
alarms.Add(alarmInstance);

/// <summary>
/// Deletes an alarm to the calendar todo (To validate, you'll need to call <see cref="Calendar.Validate"/>).
/// </summary>
/// <param name="alarmInstance">Instance of a calendar alarm</param>
public void DeleteAlarm(CalendarAlarm alarmInstance) =>
alarms.Remove(alarmInstance);

/// <summary>
/// Gets a part array from a specified key
/// </summary>
Expand Down

0 comments on commit 256f834

Please sign in to comment.