var dateTimeStamp = Now(); var cacheType = getCacheType(); var cacheStatus = getEventCacheStatus(); var futureYears = getCacheMaxFutureYears(); var pastYears = getCacheMaxPastYears(); var pastMonths = 0; var futureMonths = 0; var startCacheDate = ""; var endCacheDate = ""; // Calculate the Cache start and enddates if ( IsNumeric(pastYears) AND pastYears GT 0 ) { pastMonths = Round(pastYears * 12); startCacheDate = DateFormat(DateAdd("m",-(pastMonths),dateTimeStamp),"YYYY-MM-DD"); } if ( IsNumeric(futureYears) AND futureYears GT 0 ) { futureMonths = Round(futureYears * 12); endCacheDate = DateFormat(DateAdd("m",futureMonths,dateTimeStamp),"YYYY-MM-DD"); } // 1) Reset the ptCalendarCache application Struct application.ptCalendarCache = StructNew(); // 2) Build the Events Cache buildEventsCache(startDate=startCacheDate,endDate=endCacheDate); // 3) Intialize Update ptCalendarCache Vars application.ptCalendarCache.eventsCacheUpdateDateTime = ""; // 4) Set the Cache Type (memory, database, file) application.ptCalendarCache.cacheType = cacheType; // 5) Set the Cache Status application.ptCalendarCache.cacheStatus = cacheStatus; // 6) Set the Cache Status if ( LEN(TRIM(startCacheDate)) AND IsDate(startCacheDate) ) application.ptCalendarCache.cacheStartDate = startCacheDate; // 7) Set the Cache Status if ( LEN(TRIM(endCacheDate)) AND IsDate(endCacheDate) ) application.ptCalendarCache.cacheEndDate = endCacheDate; // 8) Set the Cache Source Info //application.ptCalendarCache.cacheSource = StructNew(); if ( cacheType EQ "database" ) application.ptCalendarCache.cacheSourceDSN = getCacheDataSource(); else if ( cacheType EQ "file" ) application.ptCalendarCache.cacheSourceFilePath = application.ptCalendar.calEventsCacheFileDAO.getEventsCacheFilePath(); return cacheStatus; var retStruct = StructNew(); var retStr = ""; var dateTimeStamp = Now(); var cacheType = getCacheType(); //var cacheStatus = getEventCacheStatus(); //if ( LEN(TRIM(arguments.startDate)) ) //if ( LEN(TRIM(arguments.endDate)) ) // Determine which type of cache to build switch(cacheType) { case "file": retStr = application.ptCalendar.calEventsCacheFileDAO.buildEventsCacheFile( startDate=arguments.startDate ,endDate=arguments.endDate ); break; case "database": retStr = application.ptCalendar.calEventsCacheDatabaseDAO.buildEventsCacheTable( startDate=arguments.startDate ,endDate=arguments.endDate ); break; default: // "memory" retStr = application.ptCalendar.calEventsCacheMemoryDAO.buildEventsCacheMemory( startDate=arguments.startDate ,endDate=arguments.endDate ); } if ( NOT StructKeyExists(application,"ptCalendarCache") ) application.ptCalendarCache = StructNew(); // set cache created the timestamp application.ptCalendarCache.eventsCacheBuildDateTime = dateTimeStamp; // set the return struct retStruct.status = retStr; return retStruct; var dataQry = QueryNew("temp"); var cacheType = getCacheType(); // Determine which type of cache to build switch(cacheType) { case "file": dataQry = application.ptCalendar.calEventsCacheFileDAO.getEventsQuery(); break; case "database": dataQry = application.ptCalendar.calEventsCacheDatabaseDAO.getEventsQuery(); break; default: // "memory" dataQry = application.ptCalendar.calEventsCacheMemoryDAO.getEventsQuery(); } // Make sure the dataQry value is actually a query if ( NOT IsQuery(dataQry) ) dataQry = QueryNew("temp"); SELECT * FROM dataQry WHERE 1=1 AND calEventID = AND dateTimeID = AND dtHashID = AND CAST( eventDate AS DATE ) BETWEEN CAST( AS DATE ) AND CAST( AS DATE ) AND CAST( eventDate AS DATE ) >= CAST( AS DATE ) ORDER BY eventDate, AllDay DESC, StartTime return getEvents(startDate=arguments.startdate,enddate=arguments.enddate); return getEvents(eventID=TRIM(arguments.eventID)); return getEvents(dateTimeID=TRIM(arguments.dateTimeID)); return getEvents(hashID=arguments.hashID); var retData = StructNew(); var retStr = ""; // Determine which type of cache processing to do switch(arguments.process) { case "add": retData = addEventCacheRecord(eventID=arguments.eventID); break; case "update": retData = updateEventCacheRecord(eventID=arguments.eventID); break; case "delete": retData = deleteEventCacheRecord(eventID=arguments.eventID); break; } // determine if the process was successful or not // and return the process status to the ajax call if ( StructKeyExists(retData,"status") ) retStr = retData.status; return true; var dateTimeStamp = Now(); var retStruct = StructNew(); var retStr = ""; var cacheType = getCacheType(); // Determine which type of cache to build switch(cacheType) { case "file": /* TODO: file caching not complete */ retStr = application.ptCalendar.calEventsCacheFileDAO.addEventCacheRecord( eventID=arguments.eventID ); break; case "database": retStr = variables.calEventsCacheDatabaseDAO.addEventCacheRecord( eventID=arguments.eventID ); break; default: // "memory" retStr = application.ptCalendar.calEventsCacheMemoryDAO.addEventCacheRecord( eventID=arguments.eventID ); } // set the return struct retStruct.status = retStr; // TODO: Move eventCacheUpdate to the lower level functions //if ( NOT StructKeyExists(application,"ptCalendarCache") ) // application.ptCalendarCache = StructNew(); //application.ptCalendarCache.calendarCacheUpdateDateTime = dateTimeStamp; //application.ptCalendarCache.eventsCacheUpdateDateTime = dateTimeStamp; return retStruct; var retStruct = StructNew(); var retStr = ""; var cacheType = getCacheType(); // Determine which type of cache to build switch(cacheType) { case "file": /* TODO: file caching not complete */ retStr = variables.calEventsCacheFileDAO.updateEventCacheRecord( eventID=arguments.eventID ); break; case "database": retStr = variables.calEventsCacheDatabaseDAO.updateEventCacheRecord( eventID=arguments.eventID ); break; default: // "memory" retStr = variables.calEventsCacheMemoryDAO.updateEventCacheRecord( eventID=arguments.eventID ); } // set the return struct retStruct.status = retStr; return retStruct; var retStruct = StructNew(); var retStr = ""; var cacheType = getCacheType(); // Determine which type of cache to build switch(cacheType) { case "file": /* TODO: file caching not complete */ retStr = application.ptCalendar.calEventsCacheFileDAO.deleteEventCacheRecord( eventID=arguments.eventID ); break; case "database": retStr = variables.calEventsCacheDatabaseDAO.deleteEventCacheRecord( eventID=arguments.eventID ); break; default: // "memory" retStr = application.ptCalendar.calEventsCacheMemoryDAO.deleteEventCacheRecord( eventID=arguments.eventID ); } // set the return struct retStruct.status = retStr; return retStruct; var retStruct = StructNew(); var retStr = ""; var cacheType = getCacheType(); // Determine which type of cache to build switch(cacheType) { case "file": retStr = application.ptCalendar.calEventsCacheFileDAO.deleteEventCache(); break; case "database": retStr = variables.calEventsCacheDatabaseDAO.deleteEventCache(); break; default: // "memory" retStr = application.ptCalendar.calEventsCacheMemoryDAO.deleteEventCache(); } // RUN application.ptCalendarCache cleanup if ( StructKeyExists(application,"ptCalendarCache") ) StructDelete(application,"ptCalendarCache"); // set the return struct retStruct.status = retStr; return retStruct;