public static boolean writeAssignmentCSV(RosterDB rosterDB, String absolutePath) {
		// create output file
        FileWriter outputStream = null;

	    try {
	    	outputStream = new FileWriter(absolutePath);
	    	outputStream.write("Name,Vorname");
	    	for (int i = 0; i <= MainWindow.setupData.getEventLength (); i++) {
	    		outputStream.write(","+MainWindow.setupData.getDateAsString(i));
	    	}
	    	outputStream.write(",Teilnehmer,Aktiv,B\u00FCro,Urlaub\n");
	    	for (Roster r: rosterDB.getRosters()) {
		    	outputStream.write(	r.getFamilyName() + "," + r.getGivenName()); 
		    	for (int i = 0; i <= MainWindow.setupData.getEventLength (); i++) {
		    		RosterAvailability a = r.checkAvailability(MainWindow.setupData.getDateAt(i));
		    		String s = "";
		    		if (a != null)
		    			s = a.toString();
		    		outputStream.write(","+ s);
		    	}
		    	outputStream.write(","+r.getAvailabilityCount(RosterAvailability.ROSTER_PARTICIPATES));
		    	int av = r.getAvailabilityCount(RosterAvailability.ROSTER_AVAILABLE) + 
		    				r.getAvailabilityCount(RosterAvailability.ROSTER_OFFICE); 
		    	outputStream.write(","+ av);
		    	outputStream.write(","+r.getAvailabilityCount(RosterAvailability.ROSTER_OFFICE));
		    	outputStream.write(","+r.getAvailabilityCount(RosterAvailability.ROSTER_VACATION));
		    	outputStream.write("\n");
	    	}
	    	
	    } catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
	    	if (outputStream != null) {
	    		try {
					outputStream.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
	    	}
	    }
		
		return true;
	}