@jaricardodev/ews-javascript-api
Version:
EWS Managed api in JavaScript
46 lines (41 loc) • 2.18 kB
text/typescript
import {Folder} from "../ServiceObjects/Folders/Folder";
import {ExchangeService} from "../ExchangeService";
import {ServiceResponse} from "../Responses/ServiceResponse";
import {CreateFolderResponse} from "../Responses/CreateFolderResponse";
import {ServiceErrorHandling} from "../../Enumerations/ServiceErrorHandling";
import {XmlElementNames} from "../XmlElementNames";
//import {EwsUtilities} from "../EwsUtilities";
import {ExchangeVersion} from "../../Enumerations/ExchangeVersion";
import {Strings} from "../../Strings";
import {CreateRequest} from "./CreateRequest";
/** @internal */
export class CreateFolderRequest extends CreateRequest<Folder, ServiceResponse> {
get Folders(): Folder[] {
return this.Objects;
}
set Folders(value: Folder[]) {
this.Objects = value;
}
constructor(service: ExchangeService, errorHandlingMode: ServiceErrorHandling) {
super(service, errorHandlingMode);
}
CreateServiceResponse(service: ExchangeService, responseIndex: number): ServiceResponse {
//return new CreateFolderResponse(<Folder>EwsUtilities.GetEnumeratedObjectAt(this.Folders, responseIndex));
if (this.Folders.length <= responseIndex) { throw new Error(Strings.IEnumerableDoesNotContainThatManyObject); }
return new CreateFolderResponse(this.Folders[responseIndex]);
}
GetMinimumRequiredServerVersion(): ExchangeVersion { return ExchangeVersion.Exchange2007_SP1; }
GetObjectCollectionXmlElementName(): string { return XmlElementNames.Folders; }
GetParentFolderXmlElementName(): string { return XmlElementNames.ParentFolderId; }
GetResponseMessageXmlElementName(): string { return XmlElementNames.CreateFolderResponseMessage; }
GetResponseXmlElementName(): string { return XmlElementNames.CreateFolderResponse; }
GetXmlElementName(): string { return XmlElementNames.CreateFolder; }
Validate(): void {
super.Validate();
//EwsUtilities.ValidateParam(this.Folders, "Folders");
// Validate each folder.
for (var folder of this.Folders) {
folder.Validate();
}
}
}