Как получить список представлений из «почты» в Lotus Notes, используя .NET? - PullRequest
0 голосов
/ 31 августа 2009

Я получаю доступ к почте из Lotus Notes.

И для доступа к «Входящим» я использую следующий код:

_notesDatabase = _lotusNotesServerSession.GetDatabase(LotusNotesServer, "mail\\" + nsfName, false);
NotesView inbox = _notesDatabase.GetView("($Inbox)");

Аналогично для "Черновиков".

Но здесь я указываю имя каждого представления в методе GetView. Что не очень хорошее кодирование.

Я хочу перечислить эти представления "Входящие", "Черновики" программно, используя C #.

Кто-нибудь может дать мне решение?

Ответы [ 3 ]

1 голос
/ 01 сентября 2009

Решение:

Object[] docColl = _notesDatabase.Views as Object[];

foreach (Object objView in docColl) {  
   NotesView view = objView as NotesView;
   MessageBox.Show(view.Name);    
}
1 голос
/ 31 августа 2009

Существует свойство класса NotesDatabase под названием Views, которое позволит вам получить доступ ко всем представлениям в базе данных. Вы можете просмотреть их, чтобы получить доступ к каждому представлению.

Также этот класс с открытым исходным кодом под названием DatabaseProperties может помочь вам получить список проектных документов, в частности представления в базе данных, и многие другие свойства представления.

0 голосов
/ 01 сентября 2009

В VB.net основной код для получения всех представлений (и папок) и для каждого из них, чтобы получить все включенные документы, будет выглядеть примерно так:

Dim s As New notesSession
Dim db As notesDatabase
Set db = s.CurrentDatabase
Dim vws As Variant
vws = db.Views
Forall v In vws
    'New View being processed
    Dim doc As notesDocument
    Set doc = v.getFirstDocument()
    While Not (doc Is Nothing)
        ' do something for each document
        ' ....
        Set doc = v.getNextDocument(doc)
    Wend
End Forall
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...