public void Converts_signer_with_signer_identifier_successfully()
            {
                //Arrange
                const string customIdentifier = "custom-identifier";

                var source = new Signer(new CustomIdentifier(customIdentifier))
                {
                    OnBehalfOf = OnBehalfOf.Other
                };
                var expected = new directsigner
                {
                    ItemElementName     = ItemChoiceType.signeridentifier,
                    Item                = customIdentifier,
                    onbehalfofSpecified = true,
                    onbehalfof          = signingonbehalfof.OTHER
                };

                //Act
                var result = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }
        public static directsigner ToDataTransferObject(Signer signer)
        {
            var dataTransferObject = new directsigner
            {
                Item = signer.Identifier.IsPersonalIdentificationNumber()
                    ? ((PersonalIdentificationNumber)signer.Identifier).Value
                    : ((CustomIdentifier)signer.Identifier).Value,
                ItemElementName = signer.Identifier.IsPersonalIdentificationNumber()
                    ? ItemChoiceType.personalidentificationnumber
                    : ItemChoiceType.signeridentifier,
                onbehalfof          = signer.OnBehalfOf.ToSigningonbehalfof(),
                onbehalfofSpecified = true
            };

            if (signer.SignatureType != null)
            {
                dataTransferObject.signaturetype          = signer.SignatureType.Value.ToSignaturtype();
                dataTransferObject.signaturetypeSpecified = true;
            }

            return(dataTransferObject);
        }
            public void Converts_signer_successfully()
            {
                //Arrange
                const string personalIdentificationNumber = "0123456789";

                var source   = new Signer(new PersonalIdentificationNumber(personalIdentificationNumber));
                var expected = new directsigner
                {
                    ItemElementName     = ItemChoiceType.personalidentificationnumber,
                    Item                = personalIdentificationNumber,
                    onbehalfof          = signingonbehalfof.SELF,
                    onbehalfofSpecified = true
                };

                //Act
                var result = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                var comparator = new Comparator();
                IEnumerable <IDifference> differences;

                comparator.AreEqual(expected, result, out differences);
                Assert.Empty(differences);
            }