Example #1
0
        private void MoveFiles(string destination)
        {
            CopyStatus = CopyStatusEnum.started;
            foreach (ZipFileModel folder in _folders)
            {
                string folderLocationStripped = GetFolderOrFileName(folder.Location);
                string folderCopyLocation     = Path.Combine(destination, folderLocationStripped);
                string startPath = folder.Location;
                string zipPath   = String.Format("{0}\\{1}.zip", destination, folderLocationStripped);
                folder.CopyStatus = (int)CopyStatusEnum.started;
                folder.BrushColor = Brushes.Orange;

                try {
                    if (Directory.Exists(destination))
                    {
                        Directory.Delete(destination, true);
                    }
                    ZipFile.CreateFromDirectory(startPath, zipPath);
                    folder.CopyStatus = (int)CopyStatusEnum.finished;
                    folder.BrushColor = Brushes.Green;
                }
                catch (Exception ex)
                {
                    folder.CopyStatus = (int)CopyStatusEnum.error;
                    folder.BrushColor = Brushes.Red;
                    Console.WriteLine(ex);
                }
            }
        }
        protected override DatabaseValidationCheck.Result ValidateInternal(DatabaseValidationCheck.Arguments args, ref LocalizedString error)
        {
            RpcDatabaseCopyStatus2 copyStatus  = args.Status.CopyStatus;
            CopyStatusEnum         copyStatus2 = copyStatus.CopyStatus;

            switch (copyStatus2)
            {
            case CopyStatusEnum.DisconnectedAndHealthy:
            case CopyStatusEnum.Healthy:
                break;

            default:
                if (copyStatus2 != CopyStatusEnum.SeedingSource)
                {
                    DatabaseValidationCheck.Tracer.TraceError((long)this.GetHashCode(), "{0}: Passive database copy '{1}' is in state '{2}'. Returning Failed! StatusFetched at {3}", new object[]
                    {
                        base.CheckName,
                        args.DatabaseCopyName,
                        copyStatus.CopyStatus,
                        copyStatus.StatusRetrievedTime
                    });
                    error = ReplayStrings.DbValidationPassiveCopyUnhealthyState(args.DatabaseCopyName, copyStatus.CopyStatus.ToString(), string.IsNullOrEmpty(copyStatus.ErrorMessage) ? ReplayStrings.AmBcsNoneSpecified : copyStatus.ErrorMessage, string.IsNullOrEmpty(copyStatus.SuspendComment) ? ReplayStrings.AmBcsNoneSpecified : copyStatus.SuspendComment);
                    return(DatabaseValidationCheck.Result.Failed);
                }
                break;
            }
            DatabaseValidationCheck.Tracer.TraceDebug((long)this.GetHashCode(), "{0}: Passive database copy '{1}' is in state '{2}'. Returning Passed. StatusFetched at {3}", new object[]
            {
                base.CheckName,
                args.DatabaseCopyName,
                copyStatus.CopyStatus,
                copyStatus.StatusRetrievedTime
            });
            return(DatabaseValidationCheck.Result.Passed);
        }
Example #3
0
 public TableData(
     int reportIid, string reportFile, ReportTypeEnum reportType,
     PrintStatusEnum printStatus,
     int printPathIid, int numCopy, bool sendMessage, bool graph,
     SortDirectionEnum groupDirection1, SortDirectionEnum groupDirection2, SortDirectionEnum groupDirection3,
     string groupHeader1, string groupHeader2, string groupHeader3,
     string groupTable1, string groupTable2, string groupTable3,
     SortDirectionEnum sortDirection1, SortDirectionEnum sortDirection2, SortDirectionEnum sortDirection3,
     string sortHeader1, string sortHeader2, string sortHeader3,
     string sortTable1, string sortTable2, string sortTable3,
     int bulletinNumber, string batchName, int batchUser,
     int batchPathId, int emailId, OutputEnum outputType,
     int dirPathId, string CompletedReportFile, CopyStatusEnum copyStatus, EmailStatusEnum emailStatus, RunStatusEnum runStatus, int eMailType)
 {
     ReportIid                = reportIid;
     ReportFile               = reportFile;
     ReportType               = reportType;
     PrintStatus              = printStatus;
     PrintPathIid             = printPathIid;
     NumCopy                  = numCopy;
     SendMessage              = sendMessage;
     Graph                    = graph;
     GroupDirection1          = groupDirection1;
     GroupDirection2          = groupDirection2;
     GroupDirection3          = groupDirection3;
     GroupHeader1             = groupHeader1;
     GroupHeader2             = groupHeader2;
     GroupHeader3             = groupHeader3;
     GroupTable1              = groupTable1;
     GroupTable2              = groupTable2;
     GroupTable3              = groupTable3;
     SortDirection1           = sortDirection1;
     SortDirection2           = sortDirection2;
     SortDirection3           = sortDirection3;
     SortHeader1              = sortHeader1;
     SortHeader2              = sortHeader2;
     SortHeader3              = sortHeader3;
     SortTable1               = sortTable1;
     SortTable2               = sortTable2;
     SortTable3               = sortTable3;
     BulletinNumber           = bulletinNumber;
     BatchName                = batchName;
     BatchUser                = batchUser;
     BatchPathId              = batchPathId;
     EmailId                  = emailId;
     OutputType               = outputType;
     DirPathId                = dirPathId;
     this.CompletedReportFile = CompletedReportFile;
     CopyStatus               = copyStatus;
     EmailStatus              = emailStatus;
     RunStatus                = runStatus;
     EmailType                = eMailType;
 }
Example #4
0
 // Token: 0x06000C85 RID: 3205 RVA: 0x00037214 File Offset: 0x00035414
 public ExternalReplicaInstanceStatus(ReplicaInstanceContext currentContext, ReplicaInstanceContextMinimal previousContext, ReplayConfigType configurationType, IPerfmonCounters perfmonCounters, ReplayState replayState)
 {
     this.CurrentContext  = currentContext;
     this.PreviousContext = previousContext;
     this.ConfigType      = configurationType;
     this.PerfmonCounters = perfmonCounters;
     this.ReplayState     = replayState;
     if (ThirdPartyManager.IsThirdPartyReplicationEnabled && this.ConfigType == ReplayConfigType.RemoteCopyTarget)
     {
         this.LastCopyStatus = CopyStatusEnum.NonExchangeReplication;
     }
     else
     {
         this.LastCopyStatus = CopyStatusEnum.Unknown;
     }
     this.m_displayName = currentContext.DisplayName;
     this.m_identity    = currentContext.Identity;
     this.DatabaseName  = currentContext.DatabaseName;
 }
Example #5
0
        // Token: 0x06000C89 RID: 3209 RVA: 0x000374A8 File Offset: 0x000356A8
        private void UpdateLastStatusTransitionTime(CopyStatusEnum copyStatus)
        {
            bool flag = false;

            if (copyStatus == CopyStatusEnum.Suspended || copyStatus == CopyStatusEnum.FailedAndSuspended)
            {
                if (this.LastCopyStatus != CopyStatusEnum.Unknown || this.ReplayState.LastStatusTransitionTime.Equals(ReplayState.ZeroFileTime))
                {
                    flag = true;
                }
            }
            else
            {
                flag = true;
            }
            if (flag)
            {
                this.ReplayState.LastStatusTransitionTime = DateTime.UtcNow;
            }
        }
Example #6
0
 public FileCopier(string Destination, ICollection <ZipFileModel> Folders)
 {
     _destination = Destination;
     _folders     = Folders;
     _copyStatus  = CopyStatusEnum.unstarted;
 }
Example #7
0
 // Token: 0x06000C87 RID: 3207 RVA: 0x000372A4 File Offset: 0x000354A4
 public void CarryOverPreviousStatus(CopyStatusEnum lastCopyStatusEnum)
 {
     this.LastCopyStatus = lastCopyStatusEnum;
 }
        internal static CopyStatus TranslateRpcStatusToTaskStatus(CopyStatusEnum statusEnum)
        {
            CopyStatus result = CopyStatus.Unknown;

            switch (statusEnum)
            {
            case CopyStatusEnum.Unknown:
                result = CopyStatus.Unknown;
                break;

            case CopyStatusEnum.Initializing:
                result = CopyStatus.Initializing;
                break;

            case CopyStatusEnum.Resynchronizing:
                result = CopyStatus.Resynchronizing;
                break;

            case CopyStatusEnum.DisconnectedAndResynchronizing:
                result = CopyStatus.DisconnectedAndResynchronizing;
                break;

            case CopyStatusEnum.DisconnectedAndHealthy:
                result = CopyStatus.DisconnectedAndHealthy;
                break;

            case CopyStatusEnum.Healthy:
                result = CopyStatus.Healthy;
                break;

            case CopyStatusEnum.Failed:
                result = CopyStatus.Failed;
                break;

            case CopyStatusEnum.FailedAndSuspended:
                result = CopyStatus.FailedAndSuspended;
                break;

            case CopyStatusEnum.Suspended:
                result = CopyStatus.Suspended;
                break;

            case CopyStatusEnum.Seeding:
                result = CopyStatus.Seeding;
                break;

            case CopyStatusEnum.Mounting:
                result = CopyStatus.Mounting;
                break;

            case CopyStatusEnum.Mounted:
                result = CopyStatus.Mounted;
                break;

            case CopyStatusEnum.Dismounting:
                result = CopyStatus.Dismounting;
                break;

            case CopyStatusEnum.Dismounted:
                result = CopyStatus.Dismounted;
                break;

            case CopyStatusEnum.NonExchangeReplication:
                result = CopyStatus.NonExchangeReplication;
                break;

            case CopyStatusEnum.SeedingSource:
                result = CopyStatus.SeedingSource;
                break;

            case CopyStatusEnum.Misconfigured:
                result = CopyStatus.Misconfigured;
                break;

            default:
                DiagCore.RetailAssert(false, "Unhandled case for CopyStatusEnum: {0}", new object[]
                {
                    statusEnum.ToString()
                });
                break;
            }
            return(result);
        }
        internal static void GetEntryFromStatus(RpcDatabaseCopyStatus2 copyStatus, DatabaseCopyStatusEntry entry)
        {
            CopyStatusEnum copyStatus2 = copyStatus.CopyStatus;
            CopyStatus     copyStatus3 = GetMailboxDatabaseCopyStatus.TranslateRpcStatusToTaskStatus(copyStatus2);

            entry.Status = copyStatus3;
            entry.m_statusRetrievedTime      = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.StatusRetrievedTime);
            entry.m_lastStatusTransitionTime = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastStatusTransitionTime);
            entry.InstanceStartTime          = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.InstanceStartTime);
            entry.m_errorMessage             = copyStatus.ErrorMessage;
            entry.m_errorEventId             = ((copyStatus.ErrorEventId != 0U) ? new uint?(copyStatus.ErrorEventId) : null);
            entry.m_extendedErrorInfo        = copyStatus.ExtendedErrorInfo;
            if (copyStatus3 == CopyStatus.Suspended || copyStatus3 == CopyStatus.FailedAndSuspended || copyStatus3 == CopyStatus.Seeding)
            {
                entry.m_suspendMessage = copyStatus.SuspendComment;
            }
            entry.m_singlePageRestore  = copyStatus.SinglePageRestoreNumber;
            entry.m_mailboxServer      = copyStatus.MailboxServer;
            entry.m_activeDatabaseCopy = copyStatus.ActiveDatabaseCopy;
            entry.m_actionInitiator    = copyStatus.ActionInitiator;
            entry.ActiveCopy           = copyStatus.IsActiveCopy();
            if (copyStatus.ActivationPreference > 0)
            {
                entry.ActivationPreference = new int?(copyStatus.ActivationPreference);
            }
            entry.IsLastCopyAvailabilityChecksPassed   = new bool?(copyStatus.IsLastCopyAvailabilityChecksPassed);
            entry.IsLastCopyRedundancyChecksPassed     = new bool?(copyStatus.IsLastCopyRedundancyChecksPassed);
            entry.LastCopyAvailabilityChecksPassedTime = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastCopyAvailabilityChecksPassedTime);
            entry.LastCopyRedundancyChecksPassedTime   = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastCopyRedundancyChecksPassedTime);
            entry.DiskFreeSpacePercent                 = copyStatus.DiskFreeSpacePercent;
            entry.DiskFreeSpace                        = ByteQuantifiedSize.FromBytes(copyStatus.DiskFreeSpaceBytes);
            entry.DiskTotalSpace                       = ByteQuantifiedSize.FromBytes(copyStatus.DiskTotalSpaceBytes);
            entry.ExchangeVolumeMountPoint             = copyStatus.ExchangeVolumeMountPoint;
            entry.DatabaseVolumeMountPoint             = copyStatus.DatabaseVolumeMountPoint;
            entry.DatabaseVolumeName                   = copyStatus.DatabaseVolumeName;
            entry.DatabasePathIsOnMountedFolder        = new bool?(copyStatus.DatabasePathIsOnMountedFolder);
            entry.LogVolumeMountPoint                  = copyStatus.LogVolumeMountPoint;
            entry.LogVolumeName                        = copyStatus.LogVolumeName;
            entry.LogPathIsOnMountedFolder             = new bool?(copyStatus.LogPathIsOnMountedFolder);
            entry.LastDatabaseVolumeName               = copyStatus.LastDatabaseVolumeName;
            entry.LastDatabaseVolumeNameTransitionTime = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastDatabaseVolumeNameTransitionTime);
            entry.VolumeInfoError                      = copyStatus.VolumeInfoLastError;
            entry.m_activationSuspended                = copyStatus.ActivationSuspended;
            if (copyStatus.ActivationSuspended)
            {
                entry.m_suspendMessage = copyStatus.SuspendComment;
            }
            entry.m_latestAvailableLogTime           = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LatestAvailableLogTime);
            entry.m_latestCopyNotificationTime       = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastCopyNotifiedLogTime);
            entry.m_latestCopyTime                   = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastCopiedLogTime);
            entry.m_latestInspectorTime              = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastInspectedLogTime);
            entry.m_latestReplayTime                 = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastReplayedLogTime);
            entry.m_latestLogGenerationNumber        = copyStatus.LastLogGenerated;
            entry.m_copyNotificationGenerationNumber = copyStatus.LastLogCopyNotified;
            entry.m_copyGenerationNumber             = copyStatus.LastLogCopied;
            entry.m_inspectorGenerationNumber        = copyStatus.LastLogInspected;
            entry.m_replayGenerationNumber           = copyStatus.LastLogReplayed;
            entry.m_contentIndexState                = copyStatus.ContentIndexStatus;
            entry.m_contentIndexErrorMessage         = copyStatus.ContentIndexErrorMessage;
            entry.m_contentIndexErrorCode            = copyStatus.ContentIndexErrorCode;
            entry.m_contentIndexVersion              = copyStatus.ContentIndexVersion;
            entry.m_contentIndexBacklog              = copyStatus.ContentIndexBacklog;
            entry.m_contentIndexRetryQueueSize       = copyStatus.ContentIndexRetryQueueSize;
            entry.m_contentIndexMailboxesToCrawl     = copyStatus.ContentIndexMailboxesToCrawl;
            entry.m_contentIndexSeedingPercent       = copyStatus.ContentIndexSeedingPercent;
            entry.m_contentIndexSeedingSource        = copyStatus.ContentIndexSeedingSource;
            entry.m_logCopyQueueIncreasing           = new bool?(copyStatus.CopyQueueNotKeepingUp);
            entry.m_logReplayQueueIncreasing         = new bool?(copyStatus.ReplayQueueNotKeepingUp);
            entry.m_replaySuspended                  = new bool?(copyStatus.ReplaySuspended);
            entry.ResumeBlocked = new bool?(copyStatus.ResumeBlocked);
            entry.ReseedBlocked = new bool?(copyStatus.ReseedBlocked);
            if (copyStatus.WorkerProcessId != 0)
            {
                entry.m_workerProcessId = new int?(copyStatus.WorkerProcessId);
            }
            entry.LastLogInfoIsStale               = copyStatus.LastLogInfoIsStale;
            entry.LastLogInfoFromCopierTime        = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastLogInfoFromCopierTime);
            entry.LastLogInfoFromClusterTime       = DumpsterStatisticsEntry.ToNullableLocalDateTime(copyStatus.LastLogInfoFromClusterTime);
            entry.LastLogInfoFromClusterGen        = copyStatus.LastLogInfoFromClusterGen;
            entry.LowestLogPresent                 = copyStatus.LowestLogPresent;
            entry.m_logsReplayedSinceInstanceStart = new long?(copyStatus.LogsReplayedSinceInstanceStart);
            entry.m_logsCopiedSinceInstanceStart   = new long?(copyStatus.LogsCopiedSinceInstanceStart);
            entry.ReplicationIsInBlockMode         = copyStatus.ReplicationIsInBlockMode;
            entry.ActivationDisabledAndMoveNow     = copyStatus.ActivationDisabledAndMoveNow;
            entry.AutoActivationPolicy             = (DatabaseCopyAutoActivationPolicyType)copyStatus.AutoActivationPolicy;
            int num = copyStatus.MinimumSupportedDatabaseSchemaVersion;

            if (num > 0)
            {
                entry.MinimumSupportedDatabaseSchemaVersion = string.Format("{0}.{1}", num >> 16, num & 65535);
            }
            num = copyStatus.MaximumSupportedDatabaseSchemaVersion;
            if (num > 0)
            {
                entry.MaximumSupportedDatabaseSchemaVersion = string.Format("{0}.{1}", num >> 16, num & 65535);
            }
            num = copyStatus.RequestedDatabaseSchemaVersion;
            if (num > 0)
            {
                entry.RequestedDatabaseSchemaVersion = string.Format("{0}.{1}", num >> 16, num & 65535);
            }
            GetMailboxDatabaseCopyStatus.UpdateReplayLagStatus(entry, copyStatus);
            GetMailboxDatabaseCopyStatus.UpdateDatabaseSeedStatus(entry, copyStatus);
            GetMailboxDatabaseCopyStatus.UpdateBackupInfo(entry, copyStatus);
            GetMailboxDatabaseCopyStatus.UpdateDumpsterRequests(entry, copyStatus);
            if (copyStatus.OutgoingConnections != null)
            {
                entry.m_outgoingConnections = (ConnectionStatus[])Serialization.BytesToObject(copyStatus.OutgoingConnections);
            }
            if (copyStatus.IncomingLogCopyingNetwork != null)
            {
                entry.m_incomingLogCopyingNetwork = (ConnectionStatus)Serialization.BytesToObject(copyStatus.IncomingLogCopyingNetwork);
            }
            if (copyStatus.SeedingNetwork != null)
            {
                entry.m_seedingNetwork = (ConnectionStatus)Serialization.BytesToObject(copyStatus.SeedingNetwork);
            }
            entry.MaxLogToReplay = copyStatus.MaxLogToReplay;
        }
 // Token: 0x06000C76 RID: 3190 RVA: 0x00037121 File Offset: 0x00035321
 private static void AddTransition(CopyStatusEnum fromState, CopyStatusEnum toState)
 {
     CopyStatusEnumTransitionGraph.m_graph[(int)fromState, (int)toState] = true;
 }
 // Token: 0x06000C75 RID: 3189 RVA: 0x00037113 File Offset: 0x00035313
 public static bool IsTransitionPossible(CopyStatusEnum fromState, CopyStatusEnum toState)
 {
     return(CopyStatusEnumTransitionGraph.m_graph[(int)fromState, (int)toState]);
 }