@jaricardodev/ews-javascript-api
Version:
EWS Managed api in JavaScript
53 lines (50 loc) • 2.72 kB
text/typescript
import {FolderId} from "../../ComplexProperties/FolderId";
import {ItemIdWrapperList} from "../../Misc/ItemIdWrapperList";
import {XmlElementNames} from "../XmlElementNames";
import {XmlNamespace} from "../../Enumerations/XmlNamespace";
import {ExchangeService} from "../ExchangeService";
import {ArchiveItemResponse} from "../Responses/ArchiveItemResponse";
import {ServiceErrorHandling} from "../../Enumerations/ServiceErrorHandling";
import {ExchangeVersion} from "../../Enumerations/ExchangeVersion";
import {EwsServiceXmlWriter} from "../EwsServiceXmlWriter";
import {MultiResponseServiceRequest} from "./MultiResponseServiceRequest";
/** @internal */
export class ArchiveItemRequest extends MultiResponseServiceRequest<ArchiveItemResponse> {//IJsonSerializable
get Ids(): ItemIdWrapperList { return this.ids; }
private sourceFolderId: FolderId;
private ids: ItemIdWrapperList = new ItemIdWrapperList();
get SourceFolderId(): FolderId {
return this.sourceFolderId;
}
set SourceFolderId(value: FolderId) {
this.sourceFolderId = value;
}
constructor(service: ExchangeService, errorHandlingModeServiceErrorHandling: ServiceErrorHandling) {
super(service, errorHandlingModeServiceErrorHandling);
}
//AddIdsToJson(jsonObject: JsonObject, service: ExchangeService): any { throw new Error("ArchiveItemRequest.ts - AddIdsToJson : Not implemented."); }
CreateServiceResponse(service: ExchangeService, responseIndex: number): ArchiveItemResponse { return new ArchiveItemResponse(); }
GetExpectedResponseMessageCount(): number { return this.ids.Count; }
GetMinimumRequiredServerVersion(): ExchangeVersion { return ExchangeVersion.Exchange2013; }
GetResponseMessageXmlElementName(): string { return XmlElementNames.ArchiveItemResponseMessage; }
GetResponseXmlElementName(): string { return XmlElementNames.ArchiveItemResponse; }
GetXmlElementName(): string { return XmlElementNames.ArchiveItem; }
Validate(): void {
//EwsUtilities.ValidateParam(this.sourceFolderId, "SourceFolderId");
this.sourceFolderId.Validate(this.Service.RequestedServerVersion);
}
/**@internal */
WriteElementsToXml(writer: EwsServiceXmlWriter): void {
writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ArchiveSourceFolderId);
this.SourceFolderId.WriteToXml(writer);
writer.WriteEndElement();
this.WriteIdsToXml(writer);
}
/**@internal */
WriteIdsToXml(writer: EwsServiceXmlWriter): void {
this.Ids.WriteToXml(
writer,
XmlNamespace.Messages,
XmlElementNames.ItemIds);
}
}