+
+ /** Used to get the AbstractControl of controlName passed @private */
+ private getFormControl(controlName: string): AbstractControl {
+ return this.projectForm.controls[controlName];
+ }
+
+ /** Add quota information to payload @private */
+ private addQuotaLimit(payload: ProjectDetails): void {
+ if (this.getFormControl('enable_quota').value) {
+ payload.quotas = {};
+ this.quotaItems.forEach((quotaItem: QUOTAITEM): void => {
+ payload.quotas[quotaItem.value] = this.getFormControl(quotaItem.value).value;
+ });
+ }
+ }
+
+ /** Set quota information in project form model @private */
+ private patchQuotaInfo(quotaRef?: {}): void {
+ if (quotaRef !== null && this.getProjectType === 'Edit') {
+ this.getFormControl('enable_quota').setValue(true);
+ this.quotaItems.forEach((quotaItem: QUOTAITEM): void => {
+ if (!isNullOrUndefined(quotaRef[quotaItem.value])) {
+ this.projectForm.addControl(quotaItem.value, new FormControl(quotaRef[quotaItem.value],
+ [Validators.required, Validators.min(quotaItem.minValue), Validators.max(quotaItem.maxValue)]));
+ } else {
+ this.projectForm.addControl(quotaItem.value, new FormControl(quotaItem.minValue, [Validators.required,
+ Validators.min(quotaItem.minValue), Validators.max(quotaItem.maxValue)]));
+ }
+ });
+ } else {
+ this.quotaItems.forEach((quotaItem: QUOTAITEM): void => {
+ this.projectForm.addControl(quotaItem.value, new FormControl(quotaItem.minValue, [Validators.required,
+ Validators.min(quotaItem.minValue), Validators.max(quotaItem.maxValue)]));
+ });
+ }
+ }