本文整理汇总了C#中DDay.iCal.Serialization.iCalendarSerializer.Serialize方法的典型用法代码示例。如果您正苦于以下问题:C# iCalendarSerializer.Serialize方法的具体用法?C# iCalendarSerializer.Serialize怎么用?C# iCalendarSerializer.Serialize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DDay.iCal.Serialization.iCalendarSerializer
的用法示例。
在下文中一共展示了iCalendarSerializer.Serialize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SerializeTest
private void SerializeTest(string filename, Type iCalType)
{
iCalendar iCal1 = iCalendar.LoadFromFile(iCalType, @"Calendars\Serialization\" + filename);
iCalendarSerializer serializer = new iCalendarSerializer(iCal1);
if (!Directory.Exists(@"Calendars\Serialization\Temp"))
Directory.CreateDirectory(@"Calendars\Serialization\Temp");
serializer.Serialize(@"Calendars\Serialization\Temp\" + Path.GetFileNameWithoutExtension(filename) + "_Serialized.ics");
iCalendar iCal2 = iCalendar.LoadFromFile(iCalType, @"Calendars\Serialization\Temp\" + Path.GetFileNameWithoutExtension(filename) + "_Serialized.ics");
CompareCalendars(iCal1, iCal2);
}
示例2: SerializeTest
private void SerializeTest(string filename, Type iCalType)
{
if (!Directory.Exists(@"Calendars\Serialization\Temp"))
Directory.CreateDirectory(@"Calendars\Serialization\Temp");
iCalendar iCal1 = iCalendar.LoadFromFile(iCalType, @"Calendars\Serialization\" + filename);
iCalendarSerializer serializer = new iCalendarSerializer(iCal1);
Assert.IsTrue(iCal1.Properties.Count > 0, "iCalendar has no properties; did it load correctly?");
Assert.IsTrue(iCal1.UniqueComponents.Count > 0, "iCalendar has no unique components; it must to be used in SerializeTest(). Did it load correctly?");
serializer.Serialize(@"Calendars\Serialization\Temp\" + Path.GetFileNameWithoutExtension(filename) + "_Serialized.ics");
iCalendar iCal2 = iCalendar.LoadFromFile(iCalType, @"Calendars\Serialization\Temp\" + Path.GetFileNameWithoutExtension(filename) + "_Serialized.ics");
CompareCalendars(iCal1, iCal2);
}
示例3: Main
static void Main(string[] args)
{
// Create a new iCalendar
iCalendar iCal = new iCalendar();
// Create the event, and add it to the iCalendar
Event evt = Event.Create(iCal);
// Set information about the event
evt.Start = DateTime.Today;
evt.End = DateTime.Today.AddDays(1); // This also sets the duration
evt.DTStamp = DateTime.Now;
evt.Description = "The event description";
evt.Location = "Event location";
evt.Summary = "The summary of the event";
// Serialize (save) the iCalendar
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"iCalendar.ics");
}
示例4: Main
/// <summary>
/// The main program execution.
/// </summary>
static void Main(string[] args)
{
// Create a new iCalendar
iCalendar iCal = new iCalendar();
// Create the event, and add it to the iCalendar
Event evt = Event.Create(iCal);
// Set information about the event
evt.Start = DateTime.Today;
evt.Start = evt.Start.AddHours(8);
evt.End = evt.Start.AddHours(18); // This also sets the duration
evt.Description = "The event description";
evt.Location = "Event location";
evt.Summary = "18 hour event summary";
// Set information about the second event
evt = Event.Create(iCal);
evt.Start = DateTime.Today.AddDays(5);
evt.End = evt.Start.AddDays(1);
evt.IsAllDay = true;
evt.Summary = "All-day event";
// Display each event
foreach(Event e in iCal.Events)
Console.WriteLine("Event created: " + GetDescription(e));
// Serialize (save) the iCalendar
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"iCalendar.ics");
Console.WriteLine("iCalendar file saved." + Environment.NewLine);
// Load the calendar from the file we just saved
iCal = iCalendar.LoadFromFile(@"iCalendar.ics");
Console.WriteLine("iCalendar file loaded.");
// Iterate through each event to display its description
// (and verify the file saved correctly)
foreach (Event e in iCal.Events)
Console.WriteLine("Event loaded: " + GetDescription(e));
}
示例5: Main
static void Main(string[] args)
{
// Load the example iCalendar file into our CustomICalendar object
CustomICalendar iCal = iCalendar.LoadFromFile<CustomICalendar>(@"Example4.ics");
// Set the additional information on our custom events
Console.WriteLine("Adding additional information to each event from Example4.ics...");
foreach(CustomEvent evt in iCal.Events)
evt.AdditionalInformation = "Some additional information we want to save";
// Serializer our iCalendar
Console.WriteLine("Saving altered iCalendar to Example4_Serialized.ics...");
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"Example4_Serialized.ics");
// Load the serialized calendar from the file we just saved,
// and display the event summary for each event, along
// with the additional information we saved.
Console.WriteLine("Loading Example4_Serialized.ics to display saved events...");
iCal = iCalendar.LoadFromFile<CustomICalendar>(@"Example4_Serialized.ics");
foreach (CustomEvent evt in iCal.Events)
Console.WriteLine("\t" + evt.Summary + ": " + evt.AdditionalInformation);
}
示例6: SERIALIZE20
public void SERIALIZE20()
{
string iCalString = @"BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Computer\, Inc//iCal 1.0//EN
CALSCALE:GREGORIAN
BEGIN:VEVENT
CREATED:20070404T211714Z
DTEND:20070407T010000Z
DTSTAMP:20070404T211714Z
DTSTART:20070406T230000Z
DURATION:PT2H
RRULE:FREQ=WEEKLY;UNTIL=20070801T070000Z;BYDAY=FR
SUMMARY:Friday Meetings
DTSTAMP:20040103T033800Z
SEQUENCE:1
UID:fd940618-45e2-4d19-b118-37fd7a8e3906
END:VEVENT
BEGIN:VEVENT
CREATED:20070404T204310Z
DTEND:20070416T030000Z
DTSTAMP:20070404T204310Z
DTSTART:20070414T200000Z
DURATION:P1DT7H
RRULE:FREQ=DAILY;COUNT=12;BYDAY=SA,SU
SUMMARY:Weekend Yea!
DTSTAMP:20040103T033800Z
SEQUENCE:1
UID:ebfbd3e3-cc1e-4a64-98eb-ced2598b3908
END:VEVENT
END:VCALENDAR
";
StringReader sr = new StringReader(iCalString);
iCalendar calendar = iCalendar.LoadFromStream(sr);
Assert.IsTrue(calendar.Events.Count == 2, "There should be 2 events in the loaded iCalendar.");
Assert.IsNotNull(calendar.Events["fd940618-45e2-4d19-b118-37fd7a8e3906"], "There should be an event with UID: fd940618-45e2-4d19-b118-37fd7a8e3906");
Assert.IsNotNull(calendar.Events["ebfbd3e3-cc1e-4a64-98eb-ced2598b3908"], "There should be an event with UID: ebfbd3e3-cc1e-4a64-98eb-ced2598b3908");
iCalendarSerializer serializer = new iCalendarSerializer(calendar);
serializer.Serialize(@"Calendars\Serialization\SERIALIZE20.ics");
SerializeTest("SERIALIZE20.ics", typeof(iCalendarSerializer));
}
示例7: SERIALIZE25
public void SERIALIZE25()
{
iCalendar iCal = new iCalendar();
Event evt = iCal.Create<Event>();
evt.Start = DateTime.Now;
evt.Duration = TimeSpan.FromHours(1);
evt.Summary = @"
Thank you for purchasing tickets on Ticketmaster.
Your order number for this purchase is 19-36919/UK1.
Tickets will be despatched as soon as possible, but may not be received until 7-10 days before the event. Please do not contact us unless you have not received your tickets within 7 days of the event.
You purchased 2 tickets to:
_____________________________________________________________________________________________
Prince
The O2, London, UK
Fri 31 Aug 2007, 18:00
Seat location: section BK 419, row M, seats 912-913
Total Charge: £69.42
http://ads.as4x.tmcs.ticketmaster.com/click.ng/site=tm&pagepos=531&adsize=336x102&lang=en-uk&majorcatid=10001&minorcatid=1&event_id=12003EA8AD65189AD&venueid=148826&artistid=135895&promoter=161&TransactionID=0902229695751936911UKA
Thanks again for using Ticketmaster.
Show complete HYPERLINK ""http://ntr.ticketmaster.com:80/ssp/?&C=%39%33%30%30%35%5F%33%30%33&R=%6F%6C%5F%31%33%31&U=%31%39%2D%33%36%41%31%39%2F%55%4B%31&M=%35&B=%32%2E%30&S=%68%80%74%70%73%3A%2F%3F%77%77%77%2E%74%80%63%6B%65%71%6D%61%73%74%65%72%2E%63%6F%2E"" \t ""_blank"" order detail.
You can always check your order and manage your preferences in HYPERLINK ""http://ntr.ticketmaster.com:80/ssp/?&C=%39%33%30%30%30%5F%33%30%33&R=%6F%6C%5F%6D%65%6D%62%65%72&U=%31%39%2D%33%36%39%31%39%2F%55%4B%31&M=%31&B=%32%2E%30&S=%68%74%74%70%73%3A%2F%2F%77%"" \t ""_blank"" My Ticketmaster.
_____________________________________________________________________________________________
C U S T O M E R S E R V I C E
_____________________________________________________________________________________________
If you have any questions regarding your booking you can search for answers using our online helpdesk at http://ticketmaster.custhelp.com
You can search our extensive range of answers and in the unlikely event that you cannot find an answer to your query, you can use 'Ask a Question' to contact us directly.
_____________________________________________________________________________________________
This email confirms your ticket order, so print/save it for future reference. All purchases are subject to credit card approval and billing address verification. We make every effort to be accurate, but we cannot be responsible for changes, cancellations, or postponements announced after this email is sent.
Please do not reply to this email. Replies to this email will not be responded to or read. If you have any questions or comments, HYPERLINK ""http://ntr.ticketmaster.com:80/ssp/?&C=%39%33%30%30%30%5F%33%30%33&R=%32&U=%31%39%2D%33%36%39%31%39%2F%55%4B%31&M=%31&B=%32%2E%30&S=%68%74%74%70%3A%2F%2F%77%77%77%2E%74%69%63%6B%65%74%6D%61%73%74%65%72%2E%63%6F%2E%75%6B%2F%68%2F%63%75%73%74%6F%6D%65%72%5F%73%65%72%76%65%2E%68%74%6D%6C"" \t ""_blank"" contact us.
Ticketmaster UK Limited Registration in England No 2662632, Registered Office, 48 Leicester Square, London WC2H 7LR ";
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"Calendars\Serialization\SERIALIZE25.ics");
SerializeTest("SERIALIZE25.ics", typeof(iCalendarSerializer));
}
示例8: ADDEVENT1
public void ADDEVENT1()
{
iCalendar iCal = iCalendar.LoadFromFile(@"Calendars\General\GEO1.ics");
Program.TestCal(iCal);
Event evt = Event.Create(iCal);
evt.Summary = "Test event";
evt.Description = "This is an event to see if event creation works";
evt.Start = new Date_Time(2006, 12, 15, "US-Eastern", iCal);
evt.Duration = new TimeSpan(1, 0, 0);
evt.Organizer = "[email protected]";
if (!Directory.Exists(@"Calendars\General\Temp"))
Directory.CreateDirectory(@"Calendars\General\Temp");
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"Calendars\General\Temp\GEO1_Serialized.ics");
}
示例9: TimeZone3
public void TimeZone3()
{
SerializeTest("TimeZone3.ics", typeof(iCalendarSerializer));
iCalendar iCal = new iCalendar();
IICalendar tmp_cal = iCalendar.LoadFromFile(@"Calendars/Serialization/TimeZone3.ics")[0];
iCal.MergeWith(tmp_cal);
iCalendarSerializer serializer = new iCalendarSerializer();
serializer.Serialize(iCal, @"Calendars/Serialization/Temp/TimeZone3.ics");
}
示例10: REQUIREDPARAMETERS1
public void REQUIREDPARAMETERS1()
{
iCalendar iCal = new iCalendar();
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"Calendars\Serialization\Temp\REQUIREDPARAMETERS1.ics");
iCal = iCalendar.LoadFromFile(@"Calendars\Serialization\Temp\REQUIREDPARAMETERS1.ics");
Assert.IsNotEmpty(iCal.Version);
Assert.IsNotEmpty(iCal.ProductID);
iCal.Version = string.Empty;
iCal.ProductID = null;
Assert.IsNotEmpty(iCal.Version, "VERSION is required");
Assert.IsNotEmpty(iCal.ProductID, "PRODID is required");
}
示例11: TIMEZONE2
public void TIMEZONE2()
{
//
// First, check against the VALUE parameter; it must be absent in DTSTART
//
iCalendar iCal = iCalendar.LoadFromFile(@"Calendars\Serialization\TIMEZONE2.ics");
DDay.iCal.Components.TimeZone tz = iCal.TimeZones[0];
foreach (DDay.iCal.Components.TimeZone.TimeZoneInfo tzi in tz.TimeZoneInfos)
tzi.Start = new Date_Time(2007, 1, 1);
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"Calendars\Serialization\Temp\TIMEZONE2.ics");
iCal = iCalendar.LoadFromFile(@"Calendars\Serialization\Temp\TIMEZONE2.ics");
tz = iCal.TimeZones[0];
foreach (DDay.iCal.Components.TimeZone.TimeZoneInfo tzi in tz.TimeZoneInfos)
{
ContentLine cl = tzi.Start.ContentLine;
Assert.IsFalse(cl.Parameters.ContainsKey("VALUE"), "\"DTSTART\" property MUST be represented in local time in timezones");
}
//
// Next, check against UTC time; DTSTART must be presented in local time
//
iCal = iCalendar.LoadFromFile(@"Calendars\Serialization\TIMEZONE2.ics");
tz = iCal.TimeZones[0];
foreach (DDay.iCal.Components.TimeZone.TimeZoneInfo tzi in tz.TimeZoneInfos)
tzi.Start = DateTime.Now.ToUniversalTime();
serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"Calendars\Serialization\Temp\TIMEZONE2.ics");
iCal = iCalendar.LoadFromFile(@"Calendars\Serialization\Temp\TIMEZONE2.ics");
tz = iCal.TimeZones[0];
foreach (DDay.iCal.Components.TimeZone.TimeZoneInfo tzi in tz.TimeZoneInfos)
{
ContentLine cl = tzi.Start.ContentLine;
Assert.IsFalse(cl.Parameters.ContainsKey("VALUE"), "\"DTSTART\" property MUST be represented in local time in timezones");
}
}
示例12: Bug3177278
public void Bug3177278()
{
var calendar = new iCalendar();
var serializer = new iCalendarSerializer();
MemoryStream ms = new MemoryStream();
serializer.Serialize(calendar, ms, Encoding.UTF8);
Assert.IsTrue(ms.CanWrite);
}
示例13: SERIALIZE16
public void SERIALIZE16()
{
CustomICal1 iCal = new CustomICal1();
string nonstandardText = "Some nonstandard property we want to serialize";
CustomEvent1 evt = iCal.Create<CustomEvent1>();
evt.Summary = "Test event";
evt.Start = new DateTime(2007, 02, 15);
evt.NonstandardProperty = nonstandardText;
evt.IsAllDay = true;
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(@"Calendars\Serialization\SERIALIZE16.ics");
iCal = iCalendar.LoadFromFile<CustomICal1>(@"Calendars\Serialization\SERIALIZE16.ics");
foreach (CustomEvent1 evt1 in iCal.Events)
Assert.IsTrue(evt1.NonstandardProperty.Equals(nonstandardText));
SerializeTest("SERIALIZE16.ics", typeof(CustomICal1));
}
示例14: Attachment2
public void Attachment2()
{
IICalendar iCal = new iCalendar();
// Create a test event
IEvent evt = iCal.Create<Event>();
evt.Summary = "Test Event";
evt.Start = new iCalDateTime(2007, 10, 15, 8, 0, 0);
evt.Duration = TimeSpan.FromHours(1);
// Get a data file
string loremIpsum = UnicodeEncoding.Default.GetString(ReadBinary(@"Data/LoremIpsum.txt"));
StringBuilder sb = new StringBuilder();
// If we copy it 300 times, we should end up with a file over 2.5MB in size.
for (int i = 0; i < 300; i++)
sb.AppendLine(loremIpsum);
// Add an attachment to this event
IAttachment attachment = new Attachment();
attachment.Data = UnicodeEncoding.Default.GetBytes(sb.ToString());
evt.Attachments.Add(attachment);
iCalendarSerializer serializer = new iCalendarSerializer();
if (!Directory.Exists(@"Calendars/Serialization/Temp"))
Directory.CreateDirectory(@"Calendars/Serialization/Temp");
serializer.Serialize(iCal, @"Calendars/Serialization/Temp/Attachment2.ics");
iCal = iCalendar.LoadFromFile(@"Calendars/Serialization/Temp/Attachment2.ics")[0];
evt = iCal.Events.First();
attachment = evt.Attachments[0];
// Ensure the generated and serialized strings match
Assert.AreEqual(sb.ToString(), UnicodeEncoding.Default.GetString(attachment.Data));
// Times to finish the test for attachment file sizes (on my computer, version 0.80):
// 0.92MB = 1.2 seconds
// 2.76MB = 6 seconds
// 4.6MB = 15.1 seconds
// 9.2MB = 54 seconds
}
示例15: Attendee3
public void Attendee3()
{
IICalendar iCal = new iCalendar();
IEvent evt = iCal.Create<Event>();
evt.Summary = "Test event";
evt.Start = new iCalDateTime(2010, 7, 3, 8, 0, 0);
evt.End = new iCalDateTime(2010, 7, 3, 9, 0, 0);
IAttendee attendee = new Attendee("mailto:[email protected]");
attendee.Members.Add("mailto:[email protected]");
evt.Attendees.Add(attendee);
iCalendarSerializer serializer = new iCalendarSerializer();
serializer.Serialize(iCal, @"Calendars/Serialization/Attendee3.ics");
// Ensure the loaded calendar and our original are identical
IICalendar loadedCalendar = iCalendar.LoadFromFile(@"Calendars/Serialization/Attendee3.ics")[0];
CompareCalendars(iCal, loadedCalendar);
}