+ if (priorityData > -1 && priorityData < 10){
+
+ dataLine += "PRIORITY";
+
+ if (priorityTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += priorityTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += to_string(priorityData);
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the SEQUENCE value.
+
+ if (sequenceData > -1 && sequenceData < 10){
+
+ dataLine += "SEQUENCE";
+
+ if (sequenceTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += sequenceTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += to_string(sequenceData);
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the STATUS value.
+
+ if (statusData.size() > 0){
+
+ dataLine += "STATUS";
+
+ if (statusLanguage.size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += statusLanguage;
+
+ }
+
+ if (statusTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += statusTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += statusData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the TRANSP value.
+
+ if (timeTransparencyData.size() > 0){
+
+ dataLine += "TRANSP";
+
+ if (timeTransparencyDataTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += timeTransparencyDataTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += timeTransparencyData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the URL value.
+
+ if (urlData.size() > 0){
+
+ dataLine += "URL";
+
+ if (urlDataTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += urlDataTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += urlData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the RECURRENCE-ID value.
+
+ if (recurranceIDData.size() > 0){
+
+ dataLine += "RECURRENCE-ID";
+
+ if (recurranceIDDataTimeZoneParam.size() > 0){
+
+ dataLine += ";TZID=";
+ dataLine += recurranceIDDataTimeZoneParam;
+
+ }
+
+ if (recurranceIDDataRangeParam.size() > 0){
+
+ dataLine += ";RANGE=";
+ dataLine += recurranceIDDataRangeParam;
+
+ }
+
+ if (recurranceIDDataValue.size() > 0){
+
+ dataLine += ";VALUE=";
+ dataLine += recurranceIDDataValue;
+
+ }
+
+ if (recurranceIDDataTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += recurranceIDDataTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += recurranceIDData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the DURATION value.
+
+ if (durationData.size() > 0){
+
+ dataLine += "DURATION";
+
+ if (durationDataTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += durationDataTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += durationData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the RRULE value.
+
+ if (recurranceRuleData.size() > 0){
+
+ dataLine += "RRULE";
+
+ if (recurranceRuleDataTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += recurranceRuleDataTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += recurranceRuleData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the ATTACH values.
+
+ if (attachList.size() > 0){
+
+ for (int attachListSeek = 0; attachListSeek < attachList.size();
+ attachListSeek++){
+
+ dataLine += "ATTACH";
+
+ if (attachListFormatType[attachListSeek].size() > 0){
+
+ dataLine += ";FMTTYPE=";
+ dataLine += attachListFormatType[attachListSeek];
+
+ }
+
+ if (attachListValue[attachListSeek].size() > 0){
+
+ dataLine += ";VALUE=";
+ dataLine += attachListValue[attachListSeek];
+
+ }
+
+ if (attachListEncoding[attachListSeek].size() > 0){
+
+ dataLine += ";ENCODING=";
+ dataLine += attachListEncoding[attachListSeek];
+
+ }
+
+ if (attachListTokens[attachListSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += attachListTokens[attachListSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += attachList[attachListSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the ATTENDEE value.
+
+ if (attendeeList.size() > 0){
+
+ for (int attendeeListSeek = 0; attendeeListSeek < attendeeList.size();
+ attendeeListSeek++){
+
+ dataLine += "ATTENDEE";
+
+ if (attendeeListMember[attendeeListSeek].size() > 0){
+
+ dataLine += ";MEMBER=\"";
+ dataLine += attendeeListMember[attendeeListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (attendeeListDelegatedFrom[attendeeListSeek].size() > 0){
+
+ dataLine += ";DELEGATED-FROM=\"";
+ dataLine += attendeeListDelegatedFrom[attendeeListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (attendeeListDelegatedTo[attendeeListSeek].size() > 0){
+
+ dataLine += ";DELEGATED-TO=\"";
+ dataLine += attendeeListDelegatedTo[attendeeListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (attendeeListRole[attendeeListSeek].size() > 0){
+
+ dataLine += ";ROLE=";
+ dataLine += attendeeListRole[attendeeListSeek];
+
+ }
+
+ if (attendeeListRSVP[attendeeListSeek].size() > 0){
+
+ dataLine += ";RSVP=";
+ dataLine += attendeeListRSVP[attendeeListSeek];
+
+ }
+
+ if (attendeeListDirectoryEntry[attendeeListSeek].size() > 0){
+
+ dataLine += ";DIR=\"";
+ dataLine += attendeeListDirectoryEntry[attendeeListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (attendeeListSentBy[attendeeListSeek].size() > 0){
+
+ dataLine += ";SENT-BY=\"";
+ dataLine += attendeeListSentBy[attendeeListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (attendeeListCommonName[attendeeListSeek].size() > 0){
+
+ dataLine += ";CN=\"";
+ dataLine += attendeeListCommonName[attendeeListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (attendeeListCalendarUserType[attendeeListSeek].size() > 0){
+
+ dataLine += ";CUTYPE=";
+ dataLine += attendeeListCalendarUserType[attendeeListSeek];
+
+ }
+
+ if (attendeeListParticipationStatus[attendeeListSeek].size() > 0){
+
+ dataLine += ";PARTSTAT=";
+ dataLine += attendeeListParticipationStatus[attendeeListSeek];
+
+ }
+
+ if (attendeeListLanguage[attendeeListSeek].size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += attendeeListLanguage[attendeeListSeek];
+
+ }
+
+ if (attendeeListTokens[attendeeListSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += attendeeListTokens[attendeeListSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += attendeeList[attendeeListSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the CATEGORIES value.
+
+ if (categoriesList.size() > 0){
+
+ for (int categoriesListSeek = 0; categoriesListSeek < categoriesList.size();
+ categoriesListSeek++){
+
+ dataLine += "CATEGORIES";
+
+ if (categoriesListLanguage[categoriesListSeek].size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += categoriesListLanguage[categoriesListSeek];
+
+ }
+
+ if (categoriesListTokens[categoriesListSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += categoriesListTokens[categoriesListSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += categoriesList[categoriesListSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the COMMENT value.
+
+ if (commentList.size() > 0){
+
+ for (int commentListSeek = 0; commentListSeek < commentList.size();
+ commentListSeek++){
+
+ dataLine += "COMMENT";
+
+ if (commentListAltRep[commentListSeek].size() > 0){
+
+ dataLine += ";ALTREP=\"";
+ dataLine += commentListAltRep[commentListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (commentListLanguage[commentListSeek].size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += commentListLanguage[commentListSeek];
+
+ }
+
+ if (commentListTokens[commentListSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += commentListTokens[commentListSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += commentList[commentListSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the CONTACT value.
+
+ if (contactList.size() > 0){
+
+ for (int contactListSeek = 0; contactListSeek < contactList.size();
+ contactListSeek++){
+
+ dataLine += "CONTACT";
+
+ if (contactListAltRep[contactListSeek].size() > 0){
+
+ dataLine += ";ALTREP=\"";
+ dataLine += contactListAltRep[contactListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (contactListLanguage[contactListSeek].size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += contactListLanguage[contactListSeek];
+
+ }
+
+ if (contactListTokens[contactListSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += contactListTokens[contactListSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += contactList[contactListSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the EXDATE value.
+
+ if (excludeDateData.size() > 0){
+
+ for (int excludeDateDataSeek = 0; excludeDateDataSeek < excludeDateData.size();
+ excludeDateDataSeek++){
+
+ dataLine += "EXDATE";
+
+ if (excludeDateDataTimeZoneParam[excludeDateDataSeek].size() > 0){
+
+ dataLine += ";TZID=";
+ dataLine += excludeDateDataTimeZoneParam[excludeDateDataSeek];
+
+ }
+
+ if (excludeDateDataValue[excludeDateDataSeek].size() > 0){
+
+ dataLine += ";VALUE=";
+ dataLine += excludeDateDataValue[excludeDateDataSeek];
+
+ }
+
+ if (excludeDateDataTokens[excludeDateDataSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += excludeDateDataTokens[excludeDateDataSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += excludeDateData[excludeDateDataSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the REQUEST-STATUS value.
+
+ if (requestStatusData.size() > 0){