NotesCalendarNotice (JavaScript)

Represents a Domino® calendar notice.

Usage

This object provides access to one notice of the calendar and scheduling services in a Domino® mail application in standard iCalendar format. See Internet Calendaring and Scheduling Core Object Specification (iCalendar) at http://tools.ietf.org/html/rfc5545 for the format.
NotesCalendar and NotesCalendarEntry provide methods for getting and creating calendar notices.

Notices include invitations, reschedules, information updates, confirmations, cancellations, counterproposals, requests for information, acceptances, declines, and tentative acceptances received from another user and not yet processed. You can treat a notice as a NotesCalendarEntry object to apply the following methods: accept, cancel, counter, decline, delegate, remove, requestInfo, and tentativelyAccept. The NotesCalendarEntry methods have scope and recurid parameters, which the corresponding NotesCalendarNotice methods do not. Application of other NotesCalendarEntry methods to a notice causes an exception.

Examples

This button event reads the first meeting invitation since yesterday at 2:00 AM for meetings posted starting at the beginning of 2012.
var dbdir:NotesDbDirectory = session.getDbDirectory("");
var maildb:NotesDatabase = dbdir.openMailDatabase();
var cal:NotesCalendar = session.getCalendar(maildb);
var jdt:java.util.Calendar = new java.util.Calendar.getInstance();
jdt.set(2012, 1, 1, 1, 1, 1);
var dt1:NotesDateTime = session.createDateTime(jdt);
var dt2:NotesDateTime = session.createDateTime("Yesterday 02");
var invites:java.util.Vector = cal.getNewInvitations(dt1, dt2);
if (invites.size() > 0) {
	var invite:NotesCalendarNotice = invites.firstElement();
	requestScope.status = invite.read() + "\n";
} else {
	requestScope.status = requestScope.status + "No invitation\n";
}

LotusScript® syntax and examples

NotesCalendarNotice
This agent reads the first meeting invitation since yesterday at 2:00 AM for meetings posted starting at the beginning of 2012.
Sub Initialize
	Dim session As New NotesSession
	Dim maildb As New NotesDatabase("", "")
	Dim cal As NotesCalendar
	Dim dt1 As NotesDateTime
	Dim dt2 As NotesDateTime
	Dim invites As Variant
	Call maildb.Openmail()
	Set cal = session.getCalendar(maildb)
	Set dt1 = session.createdatetime("01/01/2012 00:00 AM")
	Set dt2 = session.createdatetime("Yesterday 00:00 AM")
	invites = cal.Getnewinvitations(dt1, dt2)
	If IsEmpty(invites) Then
		MessageBox "No invitation",, "Nothing"
	Else
		Dim invite As NotesCalendarNotice
		Set invite = invites(0)
		MessageBox invite.Read(),, "Invite"
	End If
End Sub

Java syntax and examples

NotesCalendarNotice
This agent reads the first meeting invitation since yesterday at 2:00 AM for meetings posted starting at the beginning of 2012.
import lotus.domino.*;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();

          // (Your code goes here)
          DbDirectory dbdir = session.getDbDirectory("");
          Database maildb = dbdir.openMailDatabase();
          NotesCalendar cal = session.getCalendar(maildb);
          java.util.Calendar jdt = java.util.Calendar.getInstance();
          jdt.set(2012, 1, 1, 1, 1, 1);
          DateTime dt1 = session.createDateTime(jdt);
          DateTime dt2 = session.createDateTime("Yesterday 02");
          java.util.Vector invites = cal.getNewInvitations(dt1, dt2);
          Database db = agentContext.getCurrentDatabase();
          // Create document to post results
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "main");
          doc.appendItemValue("subject", "New invitation");
          RichTextItem body = doc.createRichTextItem("body");
          if (invites.size() == 0) body.appendText("No invitation");
          else {
        	NotesCalendarNotice invite = (NotesCalendarNotice)invites.firstElement();
        	body.appendText(invite.read()); 
          }
          doc.save(true, true);
          
      } catch(Exception e) {
          e.printStackTrace();
      }
   }
}