Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added DUE property for saving data from a CalendarTaskObject.
[xestiacalendar/.git] / source / objects / calendartask / CalendarTask-Save.cpp
index 740beb7..c4e6053 100644 (file)
@@ -37,6 +37,646 @@ void CalendarTaskObject::SaveObjectData(string *SaveData){
                
        }
        
+       // Process the DTSTAMP.
+       
+       if (DateTimeStampData.size() > 0){
+               
+               if (DateTimeStampTokens.size() > 0){
+               
+                       DataLine += "DTSTAMP;";
+                       DataLine += DateTimeStampTokens;
+                       
+               } else {
+
+                       DataLine += "DTSTAMP";
+                       
+               }
+
+               DataLine += ":";
+               DataLine += DateTimeStampData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the CLASS value.
+       
+       if (ClassData.size() > 0){
+               
+               if (ClassDataTokens.size() > 0){
+               
+                       DataLine += "CLASS;";
+                       DataLine += ClassDataTokens;
+                       
+               } else {
+
+                       DataLine += "CLASS";
+                       
+               }
+
+               DataLine += ":";
+               DataLine += ClassData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the COMPLETED value.
+       
+       if (CompletedData.size() > 0){
+               
+               if (CompletedDataTokens.size() > 0){
+               
+                       DataLine += "COMPLETED;";
+                       DataLine += CompletedDataTokens;
+                       
+               } else {
+
+                       DataLine += "COMPLETED";
+                       
+               }
+
+               DataLine += ":";
+               DataLine += CompletedData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+
+       // Process the CREATED value.
+       
+       if (DateTimeCreatedData.size() > 0){
+               
+               if (DateTimeCreatedTokens.size() > 0){
+               
+                       DataLine += "CREATED;";
+                       DataLine += DateTimeCreatedTokens;
+                       
+               } else {
+
+                       DataLine += "CREATED";
+                       
+               }
+
+               DataLine += ":";
+               DataLine += DateTimeCreatedData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the DESCRIPTION values. Write out the
+       // first DESCRPITION only as per RFC5545 specifcation.
+       
+       if (DescriptionList.size() > 0){
+               
+               DataLine += "DESCRIPTION";
+               
+               if (DescriptionListAltRep[0].size() > 0){
+               
+                       DataLine += ";ALTREP=\"";
+                       DataLine += DescriptionListAltRep[0];
+                       DataLine += "\"";
+                       
+               }
+               
+               if (DescriptionListLanguage[0].size() > 0){
+               
+                       DataLine += ";LANGUAGE=";
+                       DataLine += DescriptionListLanguage[0];
+                       
+               }
+               
+               if (DescriptionListTokens[0].size() > 0){
+               
+                       DataLine += ";";
+                       DataLine += DescriptionListTokens[0];
+                       
+               }
+
+               DataLine += ":";
+               DataLine += DescriptionList[0];
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the DTSTART.
+       
+       if (DateTimeStartData.size() > 0){
+               
+               DataLine += "DTSTART";
+               
+               if (DateTimeStartDataValue.size() > 0){
+               
+                       DataLine += ";VALUE=";
+                       DataLine += DateTimeStartDataValue;                     
+                       
+               }
+               
+               if (DateTimeStartDataTimeZoneID.size() > 0){
+               
+                       DataLine += ";TZID=";
+                       DataLine += DateTimeStartDataTimeZoneID;                        
+                       
+               }
+               
+               if (DateTimeStartDataTokens.size() > 0){
+               
+                       DataLine += ";";
+                       DataLine += DateTimeStartDataTokens;
+                       
+               }
+
+               DataLine += ":";
+               DataLine += DateTimeStartData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the GEO value.
+       
+       if (GeographicData.size() > 0){
+               
+               if (GeographicTokens.size() > 0){
+               
+                       DataLine += "GEO;";
+                       DataLine += GeographicTokens;
+                       
+               } else {
+
+                       DataLine += "GEO";
+                       
+               }
+
+               DataLine += ":";
+               DataLine += GeographicData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the LAST-MODIFIED value.
+       
+       if (LastModifiedData.size() > 0){
+               
+               if (LastModifiedTokens.size() > 0){
+               
+                       DataLine += "LAST-MODIFIED;";
+                       DataLine += LastModifiedTokens;
+                       
+               } else {
+
+                       DataLine += "LAST-MODIFIED";
+                       
+               }
+
+               DataLine += ":";
+               DataLine += LastModifiedData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the LOCATION value.
+
+       if (LocationData.size() > 0){
+               
+               DataLine += "LOCATION";
+               
+               if (LocationDataAltRep.size() > 0){
+               
+                       DataLine += ";ALTREP=\"";
+                       DataLine += LocationDataAltRep;
+                       DataLine += "\"";
+                       
+               }
+               
+               if (LocationDataLanguage.size() > 0){
+               
+                       DataLine += ";LANGUAGE=";
+                       DataLine += LocationDataLanguage;                       
+                       
+               }
+               
+               if (LocationDataTokens.size() > 0){
+               
+                       DataLine += ";";
+                       DataLine += LocationDataTokens;
+                       
+               }
+               
+               DataLine += ":";
+               DataLine += LocationData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the ORGANIZER value.
+       
+       if (OrganiserData.size() > 0){
+               
+               DataLine += "ORGANIZER";
+               
+               if (OrganiserDataCommonName.size() > 0){
+               
+                       DataLine += ";CN=";
+                       DataLine += OrganiserDataCommonName;
+                       
+               }
+
+               if (OrganiserDataDirectoryEntry.size() > 0){
+               
+                       DataLine += ";DIR=\"";
+                       DataLine += OrganiserDataDirectoryEntry;
+                       DataLine += "\"";
+                       
+               }
+               
+               if (OrganiserDataSentByParam.size() > 0){
+               
+                       DataLine += ";SENT-BY=\"";
+                       DataLine += OrganiserDataSentByParam;                   
+                       DataLine += "\"";
+                       
+               }
+               
+               if (OrganiserDataLanguage.size() > 0){
+               
+                       DataLine += ";LANGUAGE=";
+                       DataLine += OrganiserDataLanguage;                      
+                       
+               }
+               
+               if (OrganiserDataTokens.size() > 0){
+               
+                       DataLine += ";";
+                       DataLine += OrganiserDataTokens;
+                       
+               }
+               
+               DataLine += ":";
+               DataLine += OrganiserData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the PERCENT-COMPLETE value.
+       
+       if (PercentCompleteData.size() > 0){
+               
+               if (PercentCompleteTokens.size() > 0){
+               
+                       DataLine += "PERCENT-COMPLETE;";
+                       DataLine += PercentCompleteTokens;
+                       
+               } else {
+
+                       DataLine += "PERCENT-COMPLETE";
+                       
+               }
+
+               DataLine += ":";
+               DataLine += PercentCompleteData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // Process the PRIORITY value.
+       
+       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 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 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 SUMMARY.
+       
+       if (SummaryData.size() > 0){
+               
+               DataLine += "SUMMARY";
+               
+               if (SummaryDataAltRep.size() > 0){
+               
+                       DataLine += ";ALTREP=\"";
+                       DataLine += SummaryDataAltRep;
+                       DataLine += "\"";
+                       
+               }
+               
+               if (SummaryDataLanguage.size() > 0){
+               
+                       DataLine += ";LANGUAGE=";
+                       DataLine += SummaryDataLanguage;                        
+                       
+               }
+               
+               if (SummaryDataTokens.size() > 0){
+               
+                       DataLine += ";";
+                       DataLine += SummaryDataTokens;
+                       
+               }
+               
+               DataLine += ":";
+               DataLine += SummaryData;
+               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 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 DUE value.
+       
+       if (DueData.size() > 0){
+               
+               DataLine += "DUE";
+               
+               if (DueDataTimeZoneID.size() > 0){
+               
+                       DataLine += ";TZID=";
+                       DataLine += DueDataTimeZoneID;
+                       
+               }
+               
+               if (DueDataValue.size() > 0){
+               
+                       DataLine += ";VALUE=";
+                       DataLine += DueDataValue;
+                       
+               }
+               
+               if (SummaryDataTokens.size() > 0){
+               
+                       DataLine += ";";
+                       DataLine += DueDataTokens;
+                       
+               }
+               
+               DataLine += ":";
+               DataLine += DueData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
        *SaveData += "END:VTODO\n";
        
 }
\ No newline at end of file
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy