mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-16 08:52:50 +08:00
84 lines
3.5 KiB
C#
84 lines
3.5 KiB
C#
using System;
|
|
|
|
namespace Spectre.Console
|
|
{
|
|
/// <summary>
|
|
/// Contains extension methods for <see cref="Calendar"/>.
|
|
/// </summary>
|
|
public static class CalendarExtensions
|
|
{
|
|
/// <summary>
|
|
/// Adds a calendar event.
|
|
/// </summary>
|
|
/// <param name="calendar">The calendar to add the calendar event to.</param>
|
|
/// <param name="date">The calendar event date.</param>
|
|
/// <returns>The same instance so that multiple calls can be chained.</returns>
|
|
public static Calendar AddCalendarEvent(this Calendar calendar, DateTime date)
|
|
{
|
|
return AddCalendarEvent(calendar, string.Empty, date.Year, date.Month, date.Day);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds a calendar event.
|
|
/// </summary>
|
|
/// <param name="calendar">The calendar to add the calendar event to.</param>
|
|
/// <param name="description">The calendar event description.</param>
|
|
/// <param name="date">The calendar event date.</param>
|
|
/// <returns>The same instance so that multiple calls can be chained.</returns>
|
|
public static Calendar AddCalendarEvent(this Calendar calendar, string description, DateTime date)
|
|
{
|
|
return AddCalendarEvent(calendar, description, date.Year, date.Month, date.Day);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds a calendar event.
|
|
/// </summary>
|
|
/// <param name="calendar">The calendar to add the calendar event to.</param>
|
|
/// <param name="year">The year of the calendar event.</param>
|
|
/// <param name="month">The month of the calendar event.</param>
|
|
/// <param name="day">The day of the calendar event.</param>
|
|
/// <returns>The same instance so that multiple calls can be chained.</returns>
|
|
public static Calendar AddCalendarEvent(this Calendar calendar, int year, int month, int day)
|
|
{
|
|
return AddCalendarEvent(calendar, string.Empty, year, month, day);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds a calendar event.
|
|
/// </summary>
|
|
/// <param name="calendar">The calendar.</param>
|
|
/// <param name="description">The calendar event description.</param>
|
|
/// <param name="year">The year of the calendar event.</param>
|
|
/// <param name="month">The month of the calendar event.</param>
|
|
/// <param name="day">The day of the calendar event.</param>
|
|
/// <returns>The same instance so that multiple calls can be chained.</returns>
|
|
public static Calendar AddCalendarEvent(this Calendar calendar, string description, int year, int month, int day)
|
|
{
|
|
if (calendar is null)
|
|
{
|
|
throw new ArgumentNullException(nameof(calendar));
|
|
}
|
|
|
|
calendar.CalendarEvents.Add(new CalendarEvent(description, year, month, day));
|
|
return calendar;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sets the calendar's highlight <see cref="Style"/>.
|
|
/// </summary>
|
|
/// <param name="calendar">The calendar.</param>
|
|
/// <param name="style">The highlight style.</param>
|
|
/// <returns>The same instance so that multiple calls can be chained.</returns>
|
|
public static Calendar SetHighlightStyle(this Calendar calendar, Style? style)
|
|
{
|
|
if (calendar is null)
|
|
{
|
|
throw new ArgumentNullException(nameof(calendar));
|
|
}
|
|
|
|
calendar.HightlightStyle = style ?? Style.Plain;
|
|
return calendar;
|
|
}
|
|
}
|
|
}
|