Пример #1
0
 protected virtual void PrepareData()
 {
     if (this.PropertyData is WebPanelOptionData.ISPmanager_DomainOption)
     {
         BatchDomainTools.WebPanelOptionData.ISPmanager_DomainOption options = this.PropertyData as WebPanelOptionData.ISPmanager_DomainOption;
         if (options.IPAddrs == null || options.IPAddrs.Length == 0)
         {
             try
             {
                 options.IPAddrs = new string[] {
                     System.Net.Dns.GetHostAddresses(WebPanelAccount.AccountManager.SelectAccount.PanelAddr.DnsSafeHost)[0].ToString()
                 };
             }
             catch (Exception ex)
             {
                 this.ReportProgress(0, string.Format("[MCOLOR:Red]Не удалось получить основной IP адрес для веб-панели ISPmanager:{0}[/MCOLOR]", ex.Message));
                 this.CancelAsync();
                 return;
             }
         }
     }
     if (this is ActionEditTask || this is ActionRemoveTask)
     {
         IWebPanelBasicActions.IGet           GetInstance    = WebPanelAccount.AccountManager.SelectAccount.WebPanelAPI;
         WebPanelItems.WebPanelItemCollection TempCollection = new BatchDomainTools.WebPanelItems.WebPanelItemCollection(this.Quenu.CollectionType);
         ActionResultBase result = GetInstance.Get(TempCollection);
         if (!result)
         {
             this.ReportProgress(0,
                                 String.Format("[MCOLOR:Red]Не удалось получить список для сопоставления объектов: {0}[/MCOLOR]", result.ErrorMessage));
             this.CancelAsync();
             return;
         }
         if (TempCollection.Count == 0)
         {
             this.ReportProgress(0, "[MCOLOR:Red]В хостинг панели нет указанных объектов .[/MCOLOR]");
             this.CancelAsync();
             return;
         }
         for (int iNeddle = 0; iNeddle < this.Quenu.Count; iNeddle++)
         {
             for (int iHaystack = 0; iHaystack < TempCollection.Count; iHaystack++)
             {
                 if (this.Quenu[iNeddle].Equals(TempCollection[iHaystack]))
                 {
                     this.Quenu[iNeddle] = TempCollection[iHaystack];
                     TempCollection.RemoveAt(iHaystack);
                     break;
                 }
             }
         }
     }
 }
Пример #2
0
        /// <summary>
        /// Метода получает список с объектами панели
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UpdateList_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;

            IWebPanelBasicActions.IGet           getObject  = WebPanelAccount.AccountManager.SelectAccount.WebPanelAPI;
            WebPanelItems.WebPanelItemCollection collection = WebPanelAccount.AccountManager.SelectAccount.PanelItems[(Type)e.Argument];
            worker.ReportProgress(99, "Пытаемся получить список.");
            collection.Clear();
            WebPanelActionResult.ActionResultBase result = getObject.Get(collection);
            if (!result)
            {
                worker.ReportProgress(0, String.Format("Во время получения списка произошла ошибка:[MCOLOR:Red]{0}[/MCOLOR].", result.ErrorMessage));
                e.Result = false;
            }
            else
            {
                e.Result = true;
            }
        }