//Button Run Backup Clicked
        private void RunNowButtonClicked(object sender, EventArgs e)
        {
            PlanControl planControl = (PlanControl)sender;

            MainWindow.instance.LabelMainPlanName.Text = "Plan: " + planControl.LabelBackupName.Text;
            PerformBackup(planControl, false);
        }
 private void DownloadButtonClicked(object sender, EventArgs e)
 {
     if (!MainWindow.isActiveDownloadOperation)
     {
         MainWindow.isActiveDownloadOperation = true;
         //to do
         DisableActions();
         string              password      = new DatabaseService().GetSettings().getPassword();
         PlanControl         planControl   = (PlanControl)sender;
         Backup              lastBackup    = databaseService.GetLastBackup(Int32.Parse(planControl.LabelPlanId.Text));
         Cloud               cloud         = databaseService.GetCloudByName(planControl.LabelCloudName.Text);
         FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
         DialogResult        dialogResult  = folderBrowser.ShowDialog();
         if (dialogResult == DialogResult.OK)
         {
             MainWindow.instance.LabelMainPlanName.Text = "Plan: " + planControl.LabelBackupName.Text;
             DownloadBackupAction downloadBackupAction = new DownloadBackupAction(cloud, lastBackup.targetPath, planControl.LabelStatus, planControl.ProgressBarArchiving, folderBrowser.SelectedPath, DownloadCompleteEvent, password, false);
             downloadBackupAction.StartDownloadBackupAction();
         }
         else
         {
             MainWindow.instance.ResetDownloadAction();
             MainWindow.isActiveDownloadOperation = false;
         }
     }
 }
示例#3
0
        public WhenExecutingMission()
        {
            var logger            = new NullLoggerFactory().CreateLogger("Logger");
            var directionControl  = new DirectionControl();
            var movementControl   = new MovementControl();
            var planControl       = new PlanControl(logger);
            var navigationControl = new NavigationControl(movementControl, directionControl, logger);

            _missionControl = new MissionControl(logger, navigationControl, planControl);
        }
        //Load Plans in the 2nd tab
        public void LoadPlans()
        {
            flowLayoutPanelPlans.Controls.Clear();

            List <BackupPlan> plans = databaseService.GetAllPlans();

            labelTotalPlans.Text = "Total plans: " + plans.Count;
            foreach (var plan in plans)
            {
                PlanControl control = new PlanControl();
                control.LabelBackupName.Text     = plan.name;
                control.LabelCloudName.Text      = plan.cloudName;
                control.LabelCreated.Text        = plan.creationDate.ToShortDateString();
                control.LabelCurrentStatus.Text  = plan.currentStatus;
                control.LabelOverrideBackup.Text = plan.overrideBackup ? "Yes" : "No";
                Backup backup = databaseService.GetLastBackup(plan.id);
                if (backup != null)
                {
                    TimeSpan runTimeTimeSpan = new TimeSpan(0, 0, 0, 0, (int)backup.runTime);
                    String   runTime         = (runTimeTimeSpan.Days > 0 ? runTimeTimeSpan.Days + " d - " : "") +
                                               runTimeTimeSpan.Hours + " h : " + runTimeTimeSpan.Minutes + " m : " + runTimeTimeSpan.Seconds + " s";
                    control.LabelLastDuration.Text = runTime;
                    control.LabelLastRun.Text      = plan.lastExecution.ToLongTimeString();
                }
                else
                {
                    control.DisableActionsWhenNoBackup();
                }
                control.LabelFolderPath.Text = plan.path;
                control.LabelLastResult.Text = (plan.lastResult ? "Succes" : "");
                if (plan.scheduleType.Equals("Monthly"))
                {
                    control.LabelScheduleTime.Text = "Day " + plan.scheduleDay + " of each month, at " + plan.scheduleTime.ToString("HH:mm");
                }
                if (plan.scheduleType.Equals("Weekly"))
                {
                    control.LabelScheduleTime.Text = "Each " + ((DayOfWeek)((plan.scheduleDay) % 7)).ToString() + ", at " + plan.scheduleTime.ToString("HH:mm");
                }
                if (plan.scheduleType.Equals("Daily"))
                {
                    control.LabelScheduleTime.Text = "Each Day at " + plan.scheduleTime.ToString("HH:mm");
                }
                control.LabelScheduleType.Text = plan.scheduleType;
                control.LabelPlanId.Text       = plan.id.ToString();
                control.OnUserControlDeletePlanButtonClicked  += (s, e) => DeletePlanButtonClicked(s, e);
                control.OnUserControlRunNowButtonClicked      += (s, e) => RunNowButtonClicked(s, e);
                control.OnUserControlDownloadButtonClicked    += (s, e) => DownloadButtonClicked(s, e);
                control.OnUserControlEditButtonClicked        += (s, e) => EditButtonClicked(s, e);
                control.OnUserControlViewHystoryButtonClicked += (s, e) => ViewHistoryButtonClicked(s, e);
                control.OnUserControlRestoreButtonClicked     += (s, e) => RestoreButtonClicked(s, e);
                flowLayoutPanelPlans.Controls.Add(control);
            }
        }
 public void PerformBackup(PlanControl planControl, bool isFromSchedule)
 {
     if (!MainWindow.isActiveUploadOperation)
     {
         MainWindow.isActiveUploadOperation = true;
         DisableActions();
         string             password           = new DatabaseService().GetSettings().getPassword();
         BackupPlan         backupPlan         = databaseService.GetBackupPlan(Int32.Parse(planControl.LabelPlanId.Text));
         UploadBackupAction uploadBackupAction = new UploadBackupAction(backupPlan, planControl.LabelStatus, planControl.ProgressBarArchiving, BackupCompleteEvent, password, isFromSchedule);
         uploadBackupAction.StartBackupAction();
     }
 }
示例#6
0
        private void ExecuteBackup(int planId)
        {
            bool isExecuted = false;

            foreach (var p in mainWindowinstance.FlowLayoutPanelPlans.Controls)
            {
                PlanControl planControl = (PlanControl)p;
                if (Int32.Parse(planControl.LabelPlanId.Text) == planId)
                {
                    Console.WriteLine("start backup from schedule");
                    mainWindowinstance.backupPlansTabController.PerformBackup(planControl, true);
                    isExecuted = true;
                }
            }
            //in case a plan was deleted
            if (!isExecuted)
            {
                LoadQueueList();
            }
        }
        private void RestoreButtonClicked(object sender, EventArgs e)
        {
            DialogResult dialog = MessageBox.Show("Are you sure you want to restore files from last backup?You will lose your current work.", "Restore Backup Plan", MessageBoxButtons.YesNo);

            if (dialog == DialogResult.Yes)
            {
                if (!MainWindow.isActiveDownloadOperation)
                {
                    MainWindow.isActiveDownloadOperation = true;
                    DisableActions();
                    string      password    = new DatabaseService().GetSettings().getPassword();
                    PlanControl planControl = (PlanControl)sender;
                    Cloud       cloud       = databaseService.GetCloudByName(planControl.LabelCloudName.Text);
                    Backup      lastBackup  = databaseService.GetLastBackup(Int32.Parse(planControl.LabelPlanId.Text));
                    MainWindow.instance.LabelMainPlanName.Text = "Plan: " + planControl.LabelBackupName.Text;
                    DownloadBackupAction downloadBackupAction = new DownloadBackupAction(cloud, lastBackup.targetPath, planControl.LabelStatus, planControl.ProgressBarArchiving, planControl.LabelFolderPath.Text, DownloadCompleteEvent, password, true);
                    downloadBackupAction.StartDownloadBackupAction();
                }
            }
        }
示例#8
0
        public WhenGeneratingAPlan()
        {
            var logger = new NullLoggerFactory().CreateLogger("Logger");

            _planControl = new PlanControl(logger);
        }