private DatabaseMoveResult PrepareResultEntryForMoveBack(AmDatabaseMoveResult result) { DatabaseMoveResult databaseMoveResult = new DatabaseMoveResult(); databaseMoveResult.Guid = result.DbGuid; ConfigObjectId identity = new ConfigObjectId(result.DbName); databaseMoveResult.Identity = identity; databaseMoveResult.ActiveServerAtStart = result.FromServerFqdn; databaseMoveResult.ActiveServerAtEnd = result.FinalActiveServerFqdn; databaseMoveResult.Status = MoveActiveMailboxDatabase.ConvertToMoveStatus(result.MoveStatus); databaseMoveResult.MountStatusAtMoveStart = MoveActiveMailboxDatabase.ConvertToMountStatus(result.MountStatusAtStart); databaseMoveResult.MountStatusAtMoveEnd = MoveActiveMailboxDatabase.ConvertToMountStatus(result.MountStatusAtEnd); if (result.AttemptedServerSubStatuses != null) { AmDbRpcOperationSubStatus amDbRpcOperationSubStatus = result.AttemptedServerSubStatuses.LastOrDefault <AmDbRpcOperationSubStatus>(); if (amDbRpcOperationSubStatus != null) { databaseMoveResult.NumberOfLogsLost = MoveActiveMailboxDatabase.ToNullableLogGeneration(amDbRpcOperationSubStatus.AcllStatus.NumberOfLogsLost); databaseMoveResult.RecoveryPointObjective = DumpsterStatisticsEntry.ToNullableLocalDateTime(amDbRpcOperationSubStatus.AcllStatus.LastInspectedLogTime); } } Exception exceptionFromMoveResult = this.GetExceptionFromMoveResult(result); if (exceptionFromMoveResult != null) { databaseMoveResult.Exception = exceptionFromMoveResult; databaseMoveResult.ErrorMessage = exceptionFromMoveResult.Message; } return(databaseMoveResult); }
private void WriteMoveResult(Database db, AmServerName startingServer, AmDatabaseMoveResult result, Exception ex) { if (result != null) { DatabaseMoveResult databaseMoveResult = this.ConvertToDatabaseMoveResult(db, startingServer, result, ex); base.WriteObject(databaseMoveResult); if (databaseMoveResult.Status == MoveStatus.Warning) { this.WriteWarningOrError(new LocalizedString(databaseMoveResult.ErrorMessage)); } } }
private DatabaseMoveResult ConvertToDatabaseMoveResult(Database db, AmServerName startingServer, AmDatabaseMoveResult result, Exception ex) { DatabaseMoveResult result2 = null; if (result != null) { if (result.IsLegacy) { result2 = this.PrepareResultEntryLegacy(db, startingServer, result, ex); } else { result2 = this.PrepareResultEntry(db, result, ex); } } return(result2); }
private DatabaseMoveResult PrepareResultEntryLegacy(Database db, AmServerName startingServer, AmDatabaseMoveResult result, Exception ex) { DatabaseMoveResult databaseMoveResult = new DatabaseMoveResult(); bool flag = ex == null; databaseMoveResult.Guid = db.Guid; databaseMoveResult.Identity = db.Id; databaseMoveResult.ActiveServerAtStart = startingServer.NetbiosName; databaseMoveResult.ActiveServerAtEnd = this.GetCurrentActiveServer(db.Guid).NetbiosName; if (flag) { databaseMoveResult.Status = MoveStatus.Succeeded; } else { databaseMoveResult.Status = MoveStatus.Failed; databaseMoveResult.Exception = ex; databaseMoveResult.ErrorMessage = ex.Message; } return(databaseMoveResult); }