74 lines
2.9 KiB
C#
74 lines
2.9 KiB
C#
namespace Pluto.Api {
|
|
using System;
|
|
using RemObjects.SDK;
|
|
using RemObjects.SDK.Types;
|
|
using RemObjects.SDK.Server;
|
|
using RemObjects.SDK.Server.ClassFactories;
|
|
using PlutoServer.PracticeChoice;
|
|
using System.Linq;
|
|
|
|
[RemObjects.SDK.Server.ClassFactories.StandardClassFactory()]
|
|
[RemObjects.SDK.Server.Service(Name = "Provider", InvokerClass = typeof(Provider_Invoker), ActivatorClass = typeof(Provider_Activator))]
|
|
public class Provider : RemObjects.SDK.Server.Service, IProvider {
|
|
private System.ComponentModel.Container components = null;
|
|
public Provider() :
|
|
base() {
|
|
this.InitializeComponent();
|
|
}
|
|
private void InitializeComponent() {
|
|
}
|
|
protected override void Dispose(bool aDisposing) {
|
|
if(aDisposing) {
|
|
if((this.components != null)) {
|
|
this.components.Dispose();
|
|
}
|
|
}
|
|
base.Dispose(aDisposing);
|
|
}
|
|
|
|
#region IProvider Members
|
|
|
|
public MailboxFolderInfo1[] GetMailboxFoldersInfo(string apiKey, int providerId) {
|
|
if(Utility.IsAPIKeyValid(apiKey)) {
|
|
var authToken = (string)this.Session[SessionKeys.AuthToken];
|
|
var provider = new PlutoServer.PracticeChoice.Core.Provider();
|
|
var folderInfoList = provider.GetMailboxFoldersInfo(authToken, providerId);
|
|
return folderInfoList.ToArray();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public FolderItemInfo1[] GetMailboxItems(string apiKey, MailboxFolderTypeEnum folderType) {
|
|
if(Utility.IsAPIKeyValid(apiKey)) {
|
|
var authToken = (string)this.Session[SessionKeys.AuthToken];
|
|
var provider = new PlutoServer.PracticeChoice.Core.Provider();
|
|
var mailItemsList = provider.GetMailboxItems(authToken, folderType);
|
|
return mailItemsList.ToArray();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public MessageInfo1 GetMessage(string apiKey, long messageId) {
|
|
if(Utility.IsAPIKeyValid(apiKey)) {
|
|
var authToken = (string)this.Session[SessionKeys.AuthToken];
|
|
var provider = new PlutoServer.PracticeChoice.Core.Provider();
|
|
var message = provider.GetMessage(authToken, messageId);
|
|
return message;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public void SendMessage(string apiKey, MessageInfo1 message) {
|
|
if(Utility.IsAPIKeyValid(apiKey)) {
|
|
var authToken = (string)this.Session[SessionKeys.AuthToken];
|
|
var provider = new PlutoServer.PracticeChoice.Core.Provider();
|
|
provider.SendMessage(authToken, message);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |