DEVAndreaCarratta.ICSFileGeneratorHelper
0.3.2
dotnet add package DEVAndreaCarratta.ICSFileGeneratorHelper --version 0.3.2
NuGet\Install-Package DEVAndreaCarratta.ICSFileGeneratorHelper -Version 0.3.2
<PackageReference Include="DEVAndreaCarratta.ICSFileGeneratorHelper" Version="0.3.2" />
<PackageVersion Include="DEVAndreaCarratta.ICSFileGeneratorHelper" Version="0.3.2" />
<PackageReference Include="DEVAndreaCarratta.ICSFileGeneratorHelper" />
paket add DEVAndreaCarratta.ICSFileGeneratorHelper --version 0.3.2
#r "nuget: DEVAndreaCarratta.ICSFileGeneratorHelper, 0.3.2"
#addin nuget:?package=DEVAndreaCarratta.ICSFileGeneratorHelper&version=0.3.2
#tool nuget:?package=DEVAndreaCarratta.ICSFileGeneratorHelper&version=0.3.2
ics-file-generator-helper
ICS File Geneator Helper is a simple NuGet package to create .ics calendar files for events.
An ICS file is a widely used standard for calendar events, allowing you to share, schedule, and manage events across platforms like Google Calendar, Outlook, and Apple Calendar. The ICS files are commonly used for:
- Scheduling events or meetings.
- Sharing calendar invites via email.
- Importing events into personal or organizational calendars.
This package helps developers easily generate .ics files programmatically with customizable event details, making it perfect for integrating calendar functionality into your applications.
Features
- Generate .ics content as a string (text).
- Generate .ics content as a stream.
- Create CalendarEvent with dedicate service.
You can customize the CalendarEvent model to fit your needs.
Use Case
Easily create calendar events programmatically for sharing or exporting to other platforms.
How It Works
- Fill the CalendarEvent model with basic event details.
- Generate the .ics as a string or a stream.
- Customize the model for advanced use cases.
Examples:
ICSGeneratorConfiguration
var configuration = new ICSGeneratorConfiguration()
{
ApplicationName = "ICSFileGeneratorHelper.Test",
OrganizerMailDomainUID = true,
};
ICSGenerator & interface
IICSGenerator result = new ICSGenerator(configuration);
public interface IICSGenerator
{
Stream GenerateAsStream(CalendarEvent calendarEvent);
ValueTask<Stream> GenerateAsStreamAsync(CalendarEvent calendarEvent);
string GenerateAsString(CalendarEvent calendarEvent);
CalendarEvent GetCalendarEvent(string title, string description, DateTime from, DateTime to);
}
ICalendarEventService
ICalendarEventService calendarService = new CalendarEventService();
public interface ICalendarEventService
{
CalendarEvent GenerateNew(string title, string description, DateTime from, DateTime to);
void AddAttendeeEmail(CalendarEvent calendarEvent, string attendeeEmail, bool autoConfirm);
void SetIsAllDay(CalendarEvent calendarEvent, bool isAllDay);
void SetLocation(CalendarEvent calendarEvent, string location);
void SetOrganizerEmail(CalendarEvent calendarEvent, string organizerEmail);
}
CalendarEvent
public CalendarEvent GetCalendarEvent(
string title,
string description,
DateTime from,
DateTime to)
{
"Title": "Test Event",
"Description": "This is a test event.",
"Location": "Test Location",
"From": "2023-10-01T10:00:00Z",
"To": "2023-10-01T11:00:00Z",
"IsAllDay": false,
"OrganizerEmail": "organizer@example.com",
"AttendeeEmails": {
"attendee@example.com": true,
"attendee-not-confirmed@example.com": false
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Newtonsoft.Json (>= 13.0.3)
-
net8.0
- System.Text.Json (>= 9.0.3)
-
net9.0
- System.Text.Json (>= 9.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Nuget Image Logo
- Internal Services optimizations
- System.Text.Json update to 9.0.3