1 import { Injectable } from '@angular/core';
2 import { isNullOrUndefined } from "util";
3 import { FormGroup } from '@angular/forms';
5 export class VnfInstanceDetailsService {
6 isUnique(serviceInstance : any, serviceId : string, name: string, isEqualToOriginalInstanceName : boolean) : boolean {
7 const service = serviceInstance[serviceId];
8 let countInstanceName = 0;
9 let countVolumeGroupName = 0;
11 if(service.instanceName === name) return false;
13 for(let key in service.vnfs){
14 if(service.vnfs[key].instanceName === name) {
16 if((isEqualToOriginalInstanceName && countInstanceName > 1) || (!isEqualToOriginalInstanceName)) return false;
18 if(service.vnfs[key].vfModules){
19 for(let vfModule in service.vnfs[key].vfModules){
20 if(service.vnfs[key].vfModules[vfModule]) {
21 for(let module in service.vnfs[key].vfModules[vfModule]){
22 if(service.vnfs[key].vfModules[vfModule][module].instanceName === name ) {
24 if((isEqualToOriginalInstanceName && countInstanceName > 1) || (!isEqualToOriginalInstanceName)) return false;
27 if(service.vnfs[key].vfModules[vfModule][module].volumeGroupName === name ) {
28 countVolumeGroupName++;
29 if((isEqualToOriginalInstanceName && countVolumeGroupName > 1) || (!isEqualToOriginalInstanceName)) return false;
42 hasApiError(controlName: string, data: Array<any>, form: FormGroup) {
43 if (!isNullOrUndefined(data)) {
44 if (!form.controls[controlName].disabled && data.length === 0) {
51 hasInstanceNameError(form : FormGroup) : boolean {
52 if(!isNullOrUndefined(form) && !isNullOrUndefined(form.controls['instanceName'])){
53 if (form.controls['instanceName'].touched && form.controls['instanceName'].errors && form.controls['instanceName'].errors.pattern) {
60 hasUniqueError(isNotUniqueInstanceName) : boolean {
61 return isNotUniqueInstanceName;