UntilTime (NotesCalendar - JavaScript)

読み取り専用。getNewInvitations によって処理された最後の招集の時刻を示します。

定義場所

NotesCalendar

構文

getUntilTime() : NotesDateTime

使用法

このプロパティは getNewInvitations によって設定されます。これを getNewInvitations の第 2 パラメータとして使用して、 最後の呼び出し以降に投稿された招集を取得することができます。

このボタンイベントは、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.UntilTime As NotesDateTime
このエージェントは、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™ 構文と例

DateTime NotesCalendar.getUntilTime()
このエージェントは、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();
      }
   }
}