Business rules

Class BusinessRules

Business rules for vacation approval.

Index

Constructor methods

Properties

Get accessors

Methods

Constructor methods

constructor(Data: IVacationApprovalData, vacationDeputyService: IVacationDeputyService): BusinessRules

Parameters

Returns

BusinessRules

Properties

public ApprovedByValidator: any

Business rules for manager that is responsible for approval of vacation request.

public Data: IVacationApprovalData

public Deputy1Validator: any

Business rules for first deputy for employee having the vacation.

public Deputy2Validator: any

Business rules for second deputy for employee having the vacation.

public DeputyConflictsValidator: any

Deputy conflict - employee that have approved vacation and its someones's deputy at the same days.

public Duration: Duration

public DurationValidator: any

Business rules for duration of vacation.

public EmployeeValidator: any

Business rules for employee requested the vacation.

public VacationApprovalErrors: any

Return vacation approval errors.

public VacationApprovalValidator: any

All business rules for the vacation approval.

public VacationRequestValidator: any

All business rules for the vacation request.

public ValidationResult: Validation.IValidationResult

Return vacation request errors.

private vacationDeputyService: IVacationDeputyService

Get accessors

public Errors(): Validation.IValidationResult

Return vacation request errors.

Returns

Validation.IValidationResult

public Name(): string

Business rules name

Returns

string

Methods

public Validate(): Q.Promise<Validation.IValidationResult>

Executes all business rules for validation request.

Returns

Q.Promise<Validation.IValidationResult>

public ValidateApproval(): Q.Promise<Validation.IValidationResult>

Executes all business rules for validation approval.

Returns

Q.Promise<Validation.IValidationResult>

private createApprovalValidator(): Validation.IAbstractValidator<VacationApproval.IVacationApprovalData>

Returns

Validation.IAbstractValidator<VacationApproval.IVacationApprovalData>

private createApprovedByValidator(): Validation.IAbstractValidator<VacationApproval.IApproval>

Returns

Validation.IAbstractValidator<VacationApproval.IApproval>

private createPersonValidator(): Validation.IAbstractValidator<VacationApproval.IPerson>

Returns

Validation.IAbstractValidator<VacationApproval.IPerson>

private createVacationRequestValidator(): Validation.IAbstractValidator<VacationApproval.IVacationApprovalData>

Returns

Validation.IAbstractValidator<VacationApproval.IVacationApprovalData>