private async void StartRestore(string _user, string _TargetPath, CancellationToken token)
        {
            mtlstbxRestore.Items.Clear();

            try
            {
                if (settings.SharedDevices)
                {
                    ISharedResourceHelper regVal = new SharedResourceHelper();
                    regVal.OnNetworkPrintersRestoreStart     += RegVal_OnNetworkPrintersRestoreStart;
                    regVal.OnNetworkPrintersRestoreCompleted += RegVal_OnNetworkPrintersRestoreCompleted;
                    regVal.OnNetworkSharesRestoreStart       += RegVal_OnNetworkSharesRestoreStart;
                    regVal.OnNetworkSharesRestoreCompleted   += RegVal_OnNetworkSharesRestoreCompleted;
                    regVal.OnRestoreStateChange += RegVal_OnRestoreStateChange;
                    regVal.OnRestoreStateError  += RegVal_OnRestoreStateError;

                    await regVal.SetResourcesAsync(_user, _TargetPath, token);
                }


                IDataRestore dRval = new DataRestore();
                dRval.OnDataRestoreStart        += DRval_OnDataRestoreStart;
                dRval.OnDataRestoreComplete     += DRval_OnDataRestoreComplete;
                dRval.OnCalculationStart        += DRval_OnCalculationStart;
                dRval.OnAtomicCurrentCopyStatus += DRval_OnAtomicCurrentCopyStatus;
                dRval.OnAtomicTotalCounts       += DRval_OnAtomicTotalCounts;

                switch (settings.BROperationType)
                {
                case "Auto":
                    settings.ResourceUtilization = settings.ResourceUtilization;
                    break;

                case "Full":
                    switch (settings.ResourceUtilization)
                    {
                    case 4:
                        settings.ResourceUtilization = 1;
                        break;

                    case 5:
                        settings.ResourceUtilization = 2;
                        break;

                    case 6:
                        settings.ResourceUtilization = 3;
                        break;

                    default:
                        settings.ResourceUtilization = settings.ResourceUtilization;
                        break;
                    }
                    break;

                case "Difference":
                    switch (settings.ResourceUtilization)
                    {
                    case 1:
                        settings.ResourceUtilization = 4;
                        break;

                    case 2:
                        settings.ResourceUtilization = 5;
                        break;

                    case 3:
                        settings.ResourceUtilization = 6;
                        break;

                    default:
                        settings.ResourceUtilization = settings.ResourceUtilization;
                        break;
                    }
                    break;
                }

                switch (settings.ResourceUtilization)
                {
                case 1:
                    await dRval.RestoreAsync(regions, _TargetPath, _user, settings.LogOptions, settings.LogType, LogOperation.RestoreOperation, token);

                    break;

                case 2:
                    await dRval.RestorePartialParallelAsync(regions, _TargetPath, _user, settings.LogOptions, settings.LogType, LogOperation.RestoreOperation, token);

                    break;

                case 3:
                    await dRval.RestoreParallelAsync(regions, _TargetPath, _user, settings.LogOptions, settings.LogType, LogOperation.RestoreOperation, token);

                    break;

                case 4:
                    await dRval.DifferenceRestoreAsync(regions, _TargetPath, _user, settings.LogOptions, settings.LogType, LogOperation.RestoreOperation, token);

                    break;

                case 5:
                    await dRval.DifferenceRestorePartialParallelAsync(regions, _TargetPath, _user, settings.LogOptions, settings.LogType, LogOperation.RestoreOperation, token);

                    break;

                case 6:
                    await dRval.DifferenceRestoreParallelAsync(regions, _TargetPath, _user, settings.LogOptions, settings.LogType, LogOperation.RestoreOperation, token);

                    break;

                default:
                    await dRval.DifferenceRestoreAsync(regions, _TargetPath, _user, settings.LogOptions, settings.LogType, LogOperation.RestoreOperation, token);

                    break;
                }
            }

            catch (OperationCanceledException OEx)
            {
                InitiatlizeUICancelled(OEx.Message);
            }

            catch (Exception Ex)
            {
                InitializeUIException(Ex.Message);
            }
        }
Exemplo n.º 2
0
        private async void StartBackup(Regions regions, string _user, Person oPerson, string _TargetPath, CancellationToken token)
        {
            try
            {
                string source = string.Empty;

                if (!string.IsNullOrWhiteSpace(oPerson.CustomHomeDirectory))
                {
                    source = oPerson.CustomHomeDirectory;
                }

                mtlstbxBackup.Items.Clear();
                if (settings.SharedDevices)
                {
                    ISharedResourceHelper regVal = new SharedResourceHelper();
                    regVal.OnNetworkSharesBackupStart       += RegVal_OnNetworkSharesBackupStart;
                    regVal.OnNetworkSharesBackupCompleted   += RegVal_OnNetworkSharesBackupCompleted;
                    regVal.OnNetworkPrintersBackupStart     += RegVal_OnNetworkPrintersBackupStart;
                    regVal.OnNetworkPrintersBackupCompleted += RegVal_OnNetworkPrintersBackupCompleted;
                    regVal.OnNetworkAtomicChange            += RegVal_OnNetworkAtomicChange;
                    regVal.OnPrinterAtomicChange            += RegVal_OnPrinterAtomicChange;
                    CurrentOperationModel = await regVal.GetResourcesBackupAsync(_user, custompaths, _TargetPath, token);

                    if (custompaths.Count > 0)
                    {
                        CurrentOperationModel.CustomPaths = new System.Collections.Generic.List <string>();
                        CurrentOperationModel.CustomPaths.AddRange(custompaths.ToList());
                    }
                }



                IDataBackup dbval = new DataBackup();
                dbval.OnBackupStart             += Dbval_OnBackupStart;
                dbval.OnCalculationStart        += Dbval_OnCalculationStart;
                dbval.OnBackupComplete          += Dbval_OnBackupComplete;
                dbval.OnAtomicCurrentCopyStatus += Dbval_OnAtomicCurrentCopyStatus;
                dbval.OnAtomicTotalCounts       += Dbval_OnAtomicTotalCounts;

                //ASYNC METHOD

                switch (settings.BROperationType)
                {
                case "Auto":
                    settings.ResourceUtilization = settings.ResourceUtilization;
                    break;

                case "Full":
                    switch (settings.ResourceUtilization)
                    {
                    case 4:
                        settings.ResourceUtilization = 1;
                        break;

                    case 5:
                        settings.ResourceUtilization = 2;
                        break;

                    case 6:
                        settings.ResourceUtilization = 3;
                        break;

                    default:
                        settings.ResourceUtilization = settings.ResourceUtilization;
                        break;
                    }
                    break;

                case "Difference":
                    switch (settings.ResourceUtilization)
                    {
                    case 1:
                        settings.ResourceUtilization = 4;
                        break;

                    case 2:
                        settings.ResourceUtilization = 5;
                        break;

                    case 3:
                        settings.ResourceUtilization = 6;
                        break;

                    default:
                        settings.ResourceUtilization = settings.ResourceUtilization;
                        break;
                    }
                    break;
                }


                switch (settings.ResourceUtilization)
                {
                case 1:
                    await dbval.BackupAsync(regions, _TargetPath, source, _user, settings.LogOptions, settings.LogType, LogOperation.BackupOperation, token);

                    break;

                case 2:
                    await dbval.BackupPartialParallelAsync(regions, _TargetPath, source, _user, settings.LogOptions, settings.LogType, LogOperation.BackupOperation, token);

                    break;

                case 3:
                    await dbval.BackupParallelAsync(regions, _TargetPath, source, _user, settings.LogOptions, settings.LogType, LogOperation.BackupOperation, token);

                    break;

                case 4:
                    await dbval.DifferenceBackupAsync(regions, _TargetPath, source, _user, settings.LogOptions, settings.LogType, LogOperation.BackupOperation, token);

                    break;

                case 5:
                    await dbval.DifferenceBackupPartialParallelAsync(regions, _TargetPath, source, _user, settings.LogOptions, settings.LogType, LogOperation.BackupOperation, token);

                    break;

                case 6:
                    await dbval.DifferenceBackupParallelAsync(regions, _TargetPath, source, _user, settings.LogOptions, settings.LogType, LogOperation.BackupOperation, token);

                    break;

                default:
                    await dbval.BackupAsync(regions, _TargetPath, source, _user, settings.LogOptions, settings.LogType, LogOperation.BackupOperation, token);

                    break;
                }
            }
            catch (OperationCanceledException OEx)
            {
                InitiatlizeUICancelled(OEx.Message);
            }
            catch (Exception Ex)
            {
                InitializeUIException(Ex.Message);
            }
        }