internal AmDatabaseMoveResult ConvertDetailedStatusToRpcMoveResult(AmDbOperationDetailedStatus detailedStatus) { Guid guid = detailedStatus.Database.Guid; string name = detailedStatus.Database.Name; string fromServerFqdn = string.Empty; string finalActiveServerFqdn = string.Empty; AmDbMountStatus dbMountStatusAtStart = AmDbMountStatus.Unknown; AmDbMountStatus dbMountStatusAtEnd = AmDbMountStatus.Unknown; if (detailedStatus.InitialDbState != null) { fromServerFqdn = detailedStatus.InitialDbState.ActiveServer.Fqdn; dbMountStatusAtStart = AmDbOperation.ConvertMountStatusToRpcMountStatus(detailedStatus.InitialDbState.MountStatus); } if (detailedStatus.FinalDbState != null) { finalActiveServerFqdn = detailedStatus.FinalDbState.ActiveServer.Fqdn; dbMountStatusAtEnd = AmDbOperation.ConvertMountStatusToRpcMountStatus(detailedStatus.FinalDbState.MountStatus); } Exception lastException = this.LastException; RpcErrorExceptionInfo errorInfo = AmRpcExceptionWrapper.Instance.ConvertExceptionToErrorExceptionInfo(lastException); AmDbMoveStatus dbMoveStatus = AmDbOperation.TranslateExceptionIntoMoveStatusEnum(lastException); List <AmDbRpcOperationSubStatus> attemptedServerSubStatuses = (from opSubStatus in detailedStatus.GetAllSubStatuses() select opSubStatus.ConvertToRpcSubStatus()).ToList <AmDbRpcOperationSubStatus>(); return(new AmDatabaseMoveResult(guid, name, fromServerFqdn, finalActiveServerFqdn, dbMoveStatus, dbMountStatusAtStart, dbMountStatusAtEnd, errorInfo, attemptedServerSubStatuses)); }
private static MountStatus ConvertToMountStatus(AmDbMountStatus rpcMountStatus) { switch (rpcMountStatus) { case AmDbMountStatus.Unknown: return(MountStatus.Unknown); case AmDbMountStatus.Mounted: return(MountStatus.Mounted); case AmDbMountStatus.Dismounted: return(MountStatus.Dismounted); case AmDbMountStatus.Mounting: return(MountStatus.Mounting); case AmDbMountStatus.Dismounting: return(MountStatus.Dismounting); default: return(MountStatus.Unknown); } }