Example #1
0
        //*********************************************************************
        ///
        /// <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);
            }
        }
Example #2
0
        //*********************************************************************
        ///
        /// <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();
        }