//********************************************************************* /// /// <summary> /// Sync the CMP VM list with the CmpWap VM list /// </summary> /// //********************************************************************* public void SynchWithCmp() { var cmp = new CmpApiClient(_eventLog); var cwdb = new CmpWapDb(); //*** Fetch the CMP resource group list *** var cmpResGroupList = cmp.FetchAzureResourceGroups(); //*** Fetch the CmpWap app list *** var cmpWapAppList = cwdb.FetchAppList(); //*** Fold *** foreach (var cmpResGroup in cmpResGroupList.Where(cmpResGroup => !cmpWapAppList.Any(cmpWapApp => cmpResGroup.Name.Equals( cmpWapApp.Name, StringComparison.InvariantCultureIgnoreCase)))) { ImportApp(cmpResGroup, cwdb); } //*** Fetch the CMP VM list *** var cmpVmList = cmp.FetchCmpRequests(); //*** Fetch the CmpWap VM list *** var cmpWapVmList = cwdb.FetchVmDepRequests(null, true); //*** Fold *** foreach (var cmpVm in cmpVmList.Where(cmpVm => !cmpWapVmList.Any(cmpWapVm => cmpVm.TargetVmName.Equals( cmpWapVm.TargetVmName, StringComparison.InvariantCultureIgnoreCase)))) { ImportVm(cmpVm, cwdb); } }
//********************************************************************* /// /// <summary> /// This method is used to fetch VM list from WAP DB. /// </summary> /// //********************************************************************* private void FetchVmListFromDb() { var cwdb = new CmpWapDb(); var cmpReqList = cwdb.FetchVmDepRequests(null, true); _havePendingStatus = false; VmList.Clear(); foreach (Models.CmpRequest cmpReq in cmpReqList) { AddVmToList(cmpReq); } SyncWithCmp(); }