public static void Throw(DomainError domainError, object domainInstance, object relatedInstance, IEnumerable <object> relatedInstances) { var error = ErrorCode(domainError); if (relatedInstance != null) { throw new DomainException(domainError.ToString(), error.Message, error.Type, domainInstance, relatedInstance); } if (relatedInstances != null) { throw new DomainException(domainError.ToString(), error.Message, error.Type, domainInstance, relatedInstances); } throw new DomainException(domainError.ToString(), error.Message, error.Type, domainInstance); }
private LocalizedString GetMessageFromDomainError(DomainError domainError, SoapException exception) { if (domainError <= DomainError.ProofOfOwnershipNotValid) { switch (domainError) { case DomainError.InvalidPartner: return(Strings.ErrorLiveDomainInaccessibleEpr(exception.Message, this.ServiceEndpoint)); case DomainError.InvalidPartnerCert: case DomainError.InvalidManagementCertificate: return(Strings.ErrorCertificateNotValid(this.Certificate.Subject, this.Certificate.Thumbprint, exception.Message)); case DomainError.PartnerNotAuthorized: case DomainError.MemberNotAuthorized: case DomainError.MemberNotAuthenticated: return(Strings.ErrorLiveIdAuthentication(exception.Message)); default: switch (domainError) { case DomainError.InvalidDomainName: case DomainError.BlockedDomainName: case DomainError.InvalidDomainConfigId: return(Strings.ErrorLiveIdDomainNameInvalid(exception.Message)); case DomainError.DomainNotReserved: return(Strings.ErrorsDomainNotReserved); case DomainError.DomainUnavailable: return(Strings.ErrorLiveDomainReservationError(exception.Message)); case DomainError.DomainPendingChanges: case DomainError.DomainSuspended: case DomainError.DomainPendingConfiguration: return(Strings.ErrorLiveIdDomainTemporarilyUnavailable(exception.Message)); case DomainError.NotPermittedForDomain: return(Strings.ErrorLiveDomainUriNotUnique(exception.Message)); case DomainError.ProofOfOwnershipNotValid: return(Strings.ErrorProofOfOwnershipNotValid); } break; } } else { switch (domainError) { case DomainError.MemberNameInvalid: case DomainError.MemberNameBlocked: case DomainError.MemberNameUnavailable: case DomainError.MemberNameBlank: case DomainError.MemberNameIncludesInvalidChars: case DomainError.MemberNameIncludesDots: case DomainError.MemberNameInUse: case DomainError.ManagedMemberExists: case DomainError.ManagedMemberNotExists: case DomainError.UnmanagedMemberExists: case DomainError.UnmanagedMemberNotExists: case DomainError.MaxMembershipLimit: case DomainError.PasswordBlank: case DomainError.PasswordTooShort: case DomainError.PasswordTooLong: case DomainError.PasswordIncludesMemberName: case DomainError.PasswordIncludesInvalidChars: case DomainError.PasswordInvalid: case DomainError.InvalidNetId: case DomainError.InvalidOffer: break; default: switch (domainError) { case DomainError.InternalError: case DomainError.InvalidParameter: case DomainError.ExchangeError: case DomainError.SubscriptionServicesError: case DomainError.TestForcedError: break; case DomainError.PassportError: return(this.GetPassportErrorMessage(exception)); case DomainError.ServiceDown: return(Strings.ErrorLiveIdServiceDown(exception.Message)); default: if (domainError == DomainError.NYI) { return(Strings.ErrorLiveDomainServicesUnexpectedResult(Strings.ErrorDomainServicesNotYetImplemented)); } break; } break; } } return(Strings.ErrorLiveDomainServicesUnexpectedResult(domainError.ToString() + " " + exception.Message)); }