| 
					
					
					
				 | 
				@ -0,0 +1,31 @@ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				#include <db/update.h>
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				#include <db/statements/builder/InsertStatementBuilder.h>
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				namespace db { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				  uint32_t insert_events(sql::Database *db, const ical::IcalObject *object) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    DEBUG << *object; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    uint32_t event_id; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    for(auto const& event : object->get_events()) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				      stmt::Statement insert_object = stmt::Statement::insert().table("events").columns("uid, summary, dtstart, dtend").values().row(event->get_db_row()).close(); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				      DEBUG << insert_object.str(); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				      db->exec(insert_object.str()); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				      event_id = db->execAndGet("SELECT last_insert_rowid();"); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				      DEBUG << event_id; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				      for(auto const& alarm : event->get_alarms()) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        insert_alarm(db, &alarm, event_id); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				      } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    return 0; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				  } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				  uint32_t insert_alarm(sql::Database *db, const ical::Alarm *alarm, const uint32_t event_id) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    std::vector<std::string> row = alarm->get_db_row(); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    row.push_back(std::to_string(event_id)); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    stmt::Statement insert_alarm = stmt::Statement::insert().table("alarms").columns("action, description, absolute_trigger, eventID").values().row(row).close(); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    DEBUG << insert_alarm.str(); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    db->exec(insert_alarm.str()); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    return 0; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				  } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				} |