getNewInvitations (NotesCalendar - JavaScript)

新規招集のカレンダーエントリを取得します。

定義場所

NotesCalendar

構文

getNewInvitations() : java.util.Vector

getNewInvitations(start:NotesDateTime、since:NotesDateTime) : java.util.Vector

パラメータ 説明
start 新規招集の適用対象である会議の開始時刻。デフォルトはすべての会議です。
since 対象とする新規招集を開始する時刻。デフォルトはすべての新規招集です。このパラメータは UntilTime とともに使用し、最後の呼び出し以降に投稿された招集を取得します。
戻り値 説明
java.util.Vector 新規招集。招集がない場合は空ベクトル。各ベクトル要素は NotesCalendarNotice 型です。

使用法

以下の点に注意してください。

このボタンイベントは、2012 年 1 月 1 日以降のメッセージのカレンダー招集と、 昨日の午前 2:00 以降またはセッション中に最後にボタンが使用された時点以降の招集を取得します。
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);
if (sessionScope.untilTime == null) {
	var dt2:NotesDateTime = session.createDateTime("Yesterday 02");
} else {
	var dt2:NotesDateTime = session.createDateTime(sessionScope.untilTime);
} 
requestScope.status = dt2.getLocalTime() + "¥n";
var invites:java.util.Vector = cal.getNewInvitations(dt1, dt2);
sessionScope.untilTime = cal.getUntilTime().getLocalTime();
if (invites.size() > 0) {
	for (i = 0; i < invites.size(); i++) {
		requestScope.status = requestScope.status + invites.elementAt(i).read() + "¥n";
	}
} else {
		requestScope.status = requestScope.status + "No invitations¥n";
}

LotusScript® 構文と例

NotesCalendar.GetNewInvitations(Optional start As NotesDateTime, Optional since As NotesDateTime) As Variant
このエージェントは、2012 年 1 月 1 日以降のメッセージのカレンダー招集と、10 月 1 日深夜 0 時以降の招集を取得します。次にエージェントは、 ユーザーの希望に応じて、最後に処理した招集より後の招集を取得します。
Sub Initialize
	REM On Error GoTo handler
	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("10/01/2012 00:00 AM")
	invites = cal.Getnewinvitations(dt1, dt2)
	Do
		If IsEmpty(invites) Then
			MessageBox "No invitations",, "Nothing"
		Else
			Dim invite As NotesCalendarNotice
			Dim i As Integer
			On Error Resume Next
					For i = LBound(invites) To UBound(invites)
						Set invite = invites(i)
						MessageBox invite.Read(),, "Invitation"
			Next
		End If
		if (MessageBox(|Do you want to get new invitations since | & _
		cal.Untiltime.Localtime & |?|, MB_YESNO, "Again?") = IDNO) Then
			Exit do
		End if
		invites = cal.Getnewinvitations(dt1, cal.Untiltime)
	Loop
	Exit Sub
handler:
	MsgBox Error,, Err()
	Exit sub
End Sub

Java™ 構文と例

java.util.Vector NotesCalendar.getNewInvitations()
java.util.Vector NotesCalendar.getNewInvitations(DateTime start, DateTime since)
このエージェントは、2012 年 1 月 1 日以降のメッセージのカレンダー招集を、30 分間隔で 3 回取得します。1 回目の呼び出しでは、 昨日の午前 2:00 以降の招集を取得します。次の 2 回の呼び出しでは、最後に処理した招集より後の招集を取得します。
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();
          for (int j = 0; j < 3; j++) {
          // Create document to post results
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "main");
          doc.appendItemValue("subject", "New invitations");
          RichTextItem body = doc.createRichTextItem("body");
          if (invites.size() == 0) body.appendText("No invitations");
          else {
        	  for (int i = 0; i < invites.size(); i++) {
        		  NotesCalendarNotice cale = (NotesCalendarNotice)invites.elementAt(i);
        		  body.appendText(cale.read());
             cale.recycle();
        		  body.addNewLine();
        	  }
          }
          doc.save(true, true);
          java.util.concurrent.TimeUnit.MINUTES.sleep(30);
          invites = cal.getNewInvitations(dt1, cal.getUntilTime());
          }
          
      } catch(Exception e) {
          e.printStackTrace();
      }
   }
}