@hso/d365-cli
Version:
Dynamics 365 Command Line Interface for TypeScript projects for Dataverse
39 lines (33 loc) • 1.73 kB
text/typescript
// import {DLFCore, ValidateLicenseResult} from 'dlf-core';
import {WebApi} from '../../WebApi/WebApi';
export interface ValidateLicenseResult extends JSON {
LicenseWarningText: string;
LicenseErrorText: string;
valid: boolean;
}
export class Validator {
static async onLoad(executionContext: Xrm.Events.EventContext): Promise<ValidateLicenseResult> {
return Validator.validate(executionContext);
}
// public static async validate(executionContext: Xrm.Events.EventContext): Promise<ValidateLicenseResult> {
// const formContext = executionContext.getFormContext();
// return DLFCore.validateLicense('<%= licensename %>', formContext);
// }
public static async validate(executionContext: Xrm.Events.EventContext): Promise<ValidateLicenseResult> {
const result = await WebApi.executeAction('hds_DLFValidateLicense', { LicenseModule: '<%= licensename %>' }) as ValidateLicenseResult,
formContext = executionContext.getFormContext();
if (result.LicenseErrorText) {
formContext.ui.setFormNotification(result.LicenseErrorText, 'ERROR', 'validatelicense');
result.valid = false;
} else if (result.LicenseWarningText) {
formContext.ui.setFormNotification(result.LicenseWarningText, 'WARNING', 'validatelicense');
} else {
result.valid = true;
}
return result;
}
}
// In D365 Form specify Validator onLoad function: <%= publisher %>.<%= namespace %>.License.Validator.onLoad
export function onLoad(executionContext: Xrm.Events.EventContext): Promise<ValidateLicenseResult> {
return Validator.onLoad(executionContext);
}