예제 #1
0
 /// <summary>
 /// Запускает выполнение подзадачи
 /// </summary>
 /// <param name="_prx">Настройки прокси</param>
 /// <returns>Возвращает статистику по проведенной операции</returns>
 public ActionResult StartFileAction(MyProxy _prx)
 {
     this.statistics.StartAction();
     this.prx = _prx;
     try
     {
         if (this.source_dest == ActionType.Source)
         {
             this.statistics.actType = ActionType.Source;
             this.ActionAsSource();
         }
         else
         {
             this.statistics.actType = ActionType.Destination;
             this.ActionAsDestination();
         }
         return(this.statistics);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         //i_resulter.AddAction(this.statistics);
     }
 }
예제 #2
0
        //все задания могут содержать несколько источников и назначений
        //сначала на локальный компьютер передаются файлы из источников, а затем
        //они передаются в назначения
        public ResultController TaskStartsExchange(MyProxy prx, ResultController sessionResultController)
        {
            ResultController taskResultController = new ResultController("Выполнение задачи " + this.id);

            ControllerOfOutput outputs = ControllerOfOutput.Instance;

            //LogOfSuccession los = LogOfSuccession.Instance;
            //bool success = true;

            try
            {
                this.ClearTmpDir();

                //Если есть роуты, добавляем их
                foreach (CmdRoute rt in taskRouts)
                {
                    BatchRunner.AddRoute(rt.destination, rt.subnetMask, rt.gateway);
                }

                List <FileSupertype> downloadFiles = uploadDownload.FindAll(x => x.source_dest == ActionType.Source);
                List <FileSupertype> uploadFiles   = uploadDownload.FindAll(x => x.source_dest == ActionType.Destination);

                foreach (FileSupertype dfile in downloadFiles)
                {
                    ActionResult tmpRes = dfile.StartFileAction(prx);
                    taskResultController.AddAction(tmpRes);
                }

                foreach (FileSupertype ufile in uploadFiles)
                {
                    ActionResult tmpRes = ufile.StartFileAction(prx);
                    taskResultController.AddAction(tmpRes);
                }
                this.ClearTmpDir();
            }
            catch (Exception ex)
            {
                outputs.WriteErrors(ex.Message);
            }
            return(taskResultController);
        }