Exemple #1
0
        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));
        }