....
//-----------------------------------------------------------------------------------------------------//
METHOD xTrmCalTriggeredEvents( Event, aParms ) CLASS MpCal
if valType( Event ) == "C"
Do Case
Case Event == "DoRetrieveDayEvents"
::RetrieveDayEvents( aParms )
// Case Event == "DblClick"
// Case Event == "MouseMove"
// Case Event == "MouseDown"
// case Event == "KeyDown"
// case Event == "IsEditOperationDisabled"
// case Event == "IsEditOperationDisabledV"
// case Event == "DoUpdateEvent"
// case Event == "BeforeEditOperation"
case Event == "EventAddedEx"
::InsertEvent( aParms[ 1 ] )
case Event == "EventChangedEx" .and. aParms[ 1 ]:CustomProperties:Property( "Guid" ) != Nil
::UpdateEvent( aParms[ 1 ] )
case Event == "EventDeletedEx" .and. aParms[ 1 ]:CustomProperties:Property( "Guid" ) != Nil
::DeleteEvent( aParms[ 1 ] )
otherwise
Logfile( "trace.log", { EventInfo( event, aParms ) } )
End
endif
Return nil
//-----------------------------------------------------------------------------------------------------//
METHOD InsertEvent( oEvent ) CLASS MpCal
/*local cSql := "Insert Into appntmnts (Subject, StartTime, EndTime, More_Info ) "+;
"Values( '" + oEvent:Subject() + "', " +;
"Convert( '" + TtoC( oEvent:StartTime() ) + "', SQL_TIMESTAMP ), " +;
"Convert( '" + TtoC( oEvent:EndTime() ) + "', SQL_TIMESTAMP ), " +;
"'"+oEvent:Body() + "') " */
::odbf:VarSubject := oEvent:Subject()
::odbf:VarStartTime := oEvent:StartTime()
::odbf:VarEndTime := oEvent:EndTime()
::odbf:VarMore_Info := oEvent:Body()
::odbf:Append()
::odbf:Save()
oEvent:CustomProperties:Property( "guid", ::odbf:Guid )
//every time a new appointment is added on the calendar control
//expand appntmnt details with a custom form for tel, med rec, email
::EventDetails( oEvent )
Return oEvent
//-----------------------------------------------------------------------------------------------------//
METHOD UpdateEvent( oEvent ) CLASS MpCal
local cSql := "Update appntmnts set Subject = '" + oEvent:Subject() + "', " +;
"StartTime = Convert( '" + TtoC( oEvent:StartTime() ) + "', SQL_TIMESTAMP ), " +;
"EndTime = Convert( '" + TtoC( oEvent:EndTime() ) + "', SQL_TIMESTAMP ), " +;
"More_Info = '" + oEvent:Body() + "' " + ;
"Where guid = '" + oEvent:CustomProperties:Property( "Guid" ) + "'"
ExecuteSqlScript( cSql, .f. )
::EventDetails( oEvent )
return oEvent
//-----------------------------------------------------------------------------------------------------//
METHOD DeleteEvent( oEvent ) CLASS MpCal
local cSql := "Delete from appntmnts " + ;
"Where guid = '" + oEvent:CustomProperties:Property( "Guid" ) + "'"
ExecuteSqlScript( cSql, .f. )
return oEvent
Reinaldo.