UNPKG

@jaricardodev/ews-javascript-api

Version:
73 lines (64 loc) 3.2 kB
import {Item} from "../ServiceObjects/Items/Item"; import {FolderId} from "../../ComplexProperties/FolderId"; import {ExchangeService} from "../ExchangeService"; import {XmlAttributeNames} from "../XmlAttributeNames"; import {ServiceResponse} from "../Responses/ServiceResponse"; import {XmlElementNames} from "../XmlElementNames"; import {XmlNamespace} from "../../Enumerations/XmlNamespace"; import {ServiceErrorHandling} from "../../Enumerations/ServiceErrorHandling"; import {ExchangeVersion} from "../../Enumerations/ExchangeVersion"; import {EwsServiceXmlWriter} from "../EwsServiceXmlWriter"; import {MultiResponseServiceRequest} from "./MultiResponseServiceRequest"; /** @internal */ export class SendItemRequest extends MultiResponseServiceRequest<ServiceResponse> {//IJsonSerializable private items: Item[] = []; private savedCopyDestinationFolderId: FolderId = null; get Items(): Item[] { return this.items; } set Items(value: Item[]) { this.items = value; } get SavedCopyDestinationFolderId(): FolderId { return this.savedCopyDestinationFolderId; } set SavedCopyDestinationFolderId(value: FolderId) { this.savedCopyDestinationFolderId = value; } constructor(service: ExchangeService, errorHandlingModeServiceErrorHandling: ServiceErrorHandling) { super(service, errorHandlingModeServiceErrorHandling); } CreateServiceResponse(service: ExchangeService, responseIndex: number): ServiceResponse { return new ServiceResponse(); } GetExpectedResponseMessageCount(): number { return this.items.length; } GetMinimumRequiredServerVersion(): ExchangeVersion { return ExchangeVersion.Exchange2007_SP1; } GetResponseMessageXmlElementName(): string { return XmlElementNames.SendItemResponseMessage; } GetResponseXmlElementName(): string { return XmlElementNames.SendItemResponse; } GetXmlElementName(): string { return XmlElementNames.SendItem; } Validate(): void { super.Validate(); //EwsUtilities.ValidateParam(this.Items, "Items"); if (this.SavedCopyDestinationFolderId != null) { this.SavedCopyDestinationFolderId.Validate(this.Service.RequestedServerVersion); } } /**@internal */ WriteAttributesToXml(writer: EwsServiceXmlWriter): void { super.WriteAttributesToXml(writer); writer.WriteAttributeValue( XmlAttributeNames.SaveItemToFolder, this.SavedCopyDestinationFolderId != null); } /**@internal */ WriteElementsToXml(writer: EwsServiceXmlWriter): void { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.ItemIds); for (var item of this.items) { item.Id.WriteToXml(writer);//, XmlElementNames.ItemId); } writer.WriteEndElement(); // ItemIds if (this.SavedCopyDestinationFolderId != null) { writer.WriteStartElement(XmlNamespace.Messages, XmlElementNames.SavedItemFolderId); this.SavedCopyDestinationFolderId.WriteToXml(writer); writer.WriteEndElement(); } } }