diff --git a/src/AutoGenerated/releaseNotification.cs b/src/AutoGenerated/releaseNotification.cs
index 6f0c4a6..38dc598 100644
--- a/src/AutoGenerated/releaseNotification.cs
+++ b/src/AutoGenerated/releaseNotification.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Globalization;
using System.Linq;
using System.Xml.Linq;
#pragma warning disable 660,661
@@ -533,7 +534,7 @@ public partial class Condition
public Condition(XElement element)
{
- Value = element.Elements().Where(e => e.Name == "Value").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ Value = element.Elements().Where(e => e.Name == "Value").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
Unit = element.Elements().Where(e => e.Name == "Unit").Select(e => e.Value).SingleOrDefault();
RelationalRelator = element.Elements().Where(e => e.Name == "RelationalRelator").Select(e => e.Value).SingleOrDefault();
}
@@ -850,7 +851,7 @@ public DealTerms(XElement element)
IsExclusive = element.Elements().Where(e => e.Name == "IsExclusive").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
RelatedReleaseOfferSets = element.Elements().Where(e => e.Name == "RelatedReleaseOfferSet").Select(e => new RelatedReleaseOfferSet(e)).ToList();
PhysicalReturns = element.Elements().Where(e => e.Name == "PhysicalReturns").Select(e => new PhysicalReturns(e)).SingleOrDefault() ?? new NullPhysicalReturns();
- NumberOfProductsPerCarton = element.Elements().Where(e => e.Name == "NumberOfProductsPerCarton").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfProductsPerCarton = element.Elements().Where(e => e.Name == "NumberOfProductsPerCarton").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
RightsClaimPolicys = element.Elements().Where(e => e.Name == "RightsClaimPolicy").Select(e => new RightsClaimPolicy(e)).ToList();
WebPolicys = element.Elements().Where(e => e.Name == "WebPolicy").Select(e => new WebPolicy(e)).ToList();
LanguageAndScriptCode = element.Attributes().Where(e => e.Name == "LanguageAndScriptCode").Select(e => e.Value).SingleOrDefault();
@@ -1226,7 +1227,7 @@ public partial class PhysicalReturns
public PhysicalReturns(XElement element)
{
PhysicalReturnsAllowed = element.Elements().Where(e => e.Name == "PhysicalReturnsAllowed").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
- LatestDateForPhysicalReturns = element.Elements().Where(e => e.Name == "LatestDateForPhysicalReturns").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value)).SingleOrDefault();
+ LatestDateForPhysicalReturns = element.Elements().Where(e => e.Name == "LatestDateForPhysicalReturns").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public PhysicalReturns()
@@ -1259,8 +1260,8 @@ public partial class PreviewDetails
public PreviewDetails(XElement element)
{
PartType = element.Elements().Where(e => e.Name == "PartType").Select(e => new Description(e)).SingleOrDefault() ?? new NullDescription();
- TopLeftCorner = element.Elements().Where(e => e.Name == "TopLeftCorner").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
- BottomRightCorner = element.Elements().Where(e => e.Name == "BottomRightCorner").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ TopLeftCorner = element.Elements().Where(e => e.Name == "TopLeftCorner").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
+ BottomRightCorner = element.Elements().Where(e => e.Name == "BottomRightCorner").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
ExpressionType = element.Elements().Where(e => e.Name == "ExpressionType").Select(e => e.Value).SingleOrDefault();
}
@@ -1407,7 +1408,7 @@ public ReleaseDeal(XElement element)
{
DealReleaseReferences = element.Elements().Where(e => e.Name == "DealReleaseReference").Select(e => e.Value).ToList();
Deals = element.Elements().Where(e => e.Name == "Deal").Select(e => new Deal(e)).ToList();
- EffectiveDate = element.Elements().Where(e => e.Name == "EffectiveDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value)).SingleOrDefault();
+ EffectiveDate = element.Elements().Where(e => e.Name == "EffectiveDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
LanguageAndScriptCode = element.Attributes().Where(e => e.Name == "LanguageAndScriptCode").Select(e => e.Value).SingleOrDefault();
}
@@ -1486,7 +1487,7 @@ public ReleaseDetailsByTerritory(XElement element)
Keywords = element.Elements().Where(e => e.Name == "Keywords").Select(e => new Keywords(e)).ToList();
Synopsis = element.Elements().Where(e => e.Name == "Synopsis").Select(e => new Synopsis(e)).SingleOrDefault() ?? new NullSynopsis();
Characters = element.Elements().Where(e => e.Name == "Character").Select(e => new Character(e)).ToList();
- NumberOfUnitsPerPhysicalRelease = element.Elements().Where(e => e.Name == "NumberOfUnitsPerPhysicalRelease").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfUnitsPerPhysicalRelease = element.Elements().Where(e => e.Name == "NumberOfUnitsPerPhysicalRelease").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
LanguageAndScriptCode = element.Attributes().Where(e => e.Name == "LanguageAndScriptCode").Select(e => e.Value).SingleOrDefault();
}
@@ -1581,7 +1582,7 @@ public partial class ResourceGroup
public ResourceGroup(XElement element)
{
Titles = element.Elements().Where(e => e.Name == "Title").Select(e => new Title(e)).ToList();
- SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
DisplayArtists = element.Elements().Where(e => e.Name == "DisplayArtist").Select(e => new Artist(e)).ToList();
ResourceContributors = element.Elements().Where(e => e.Name == "ResourceContributor").Select(e => new ResourceContributor(e)).ToList();
IndirectResourceContributors = element.Elements().Where(e => e.Name == "IndirectResourceContributor").Select(e => new IndirectResourceContributor(e)).ToList();
@@ -1637,8 +1638,8 @@ public partial class ResourceGroupContentItem
public ResourceGroupContentItem(XElement element)
{
- SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
- SequenceSubNumber = element.Elements().Where(e => e.Name == "SequenceSubNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
+ SequenceSubNumber = element.Elements().Where(e => e.Name == "SequenceSubNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
ResourceTypes = element.Elements().Where(e => e.Name == "ResourceType").Select(e => new ResourceType(e)).ToList();
ReleaseResourceReference = element.Elements().Where(e => e.Name == "ReleaseResourceReference").Select(e => new ReleaseResourceReference(e)).SingleOrDefault() ?? new NullReleaseResourceReference();
LinkedReleaseResourceReferences = element.Elements().Where(e => e.Name == "LinkedReleaseResourceReference").Select(e => new LinkedReleaseResourceReference(e)).ToList();
@@ -2272,11 +2273,11 @@ public partial class SoundRecordingPreviewDetails
public SoundRecordingPreviewDetails(XElement element)
{
PartType = element.Elements().Where(e => e.Name == "PartType").Select(e => new Description(e)).SingleOrDefault() ?? new NullDescription();
- StartPoint = element.Elements().Where(e => e.Name == "StartPoint").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
- EndPoint = element.Elements().Where(e => e.Name == "EndPoint").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ StartPoint = element.Elements().Where(e => e.Name == "StartPoint").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
+ EndPoint = element.Elements().Where(e => e.Name == "EndPoint").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
Duration = element.Elements().Where(e => e.Name == "Duration").Select(e => e.Value).SingleOrDefault();
- TopLeftCorner = element.Elements().Where(e => e.Name == "TopLeftCorner").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
- BottomRightCorner = element.Elements().Where(e => e.Name == "BottomRightCorner").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ TopLeftCorner = element.Elements().Where(e => e.Name == "TopLeftCorner").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
+ BottomRightCorner = element.Elements().Where(e => e.Name == "BottomRightCorner").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
ExpressionType = element.Elements().Where(e => e.Name == "ExpressionType").Select(e => e.Value).SingleOrDefault();
}
@@ -2333,9 +2334,9 @@ public TechnicalImageDetails(XElement element)
ImageCodecType = element.Elements().Where(e => e.Name == "ImageCodecType").Select(e => new ImageCodecType(e)).SingleOrDefault() ?? new NullImageCodecType();
ImageHeight = element.Elements().Where(e => e.Name == "ImageHeight").Select(e => new Extent(e)).SingleOrDefault() ?? new NullExtent();
ImageWidth = element.Elements().Where(e => e.Name == "ImageWidth").Select(e => new Extent(e)).SingleOrDefault() ?? new NullExtent();
- AspectRatio = element.Elements().Where(e => e.Name == "AspectRatio").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
- ColorDepth = element.Elements().Where(e => e.Name == "ColorDepth").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
- ImageResolution = element.Elements().Where(e => e.Name == "ImageResolution").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ AspectRatio = element.Elements().Where(e => e.Name == "AspectRatio").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
+ ColorDepth = element.Elements().Where(e => e.Name == "ColorDepth").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
+ ImageResolution = element.Elements().Where(e => e.Name == "ImageResolution").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
IsPreview = element.Elements().Where(e => e.Name == "IsPreview").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
PreviewDetails = element.Elements().Where(e => e.Name == "PreviewDetails").Select(e => new PreviewDetails(e)).SingleOrDefault() ?? new NullPreviewDetails();
FulfillmentDate = element.Elements().Where(e => e.Name == "FulfillmentDate").Select(e => new FulfillmentDate(e)).SingleOrDefault() ?? new NullFulfillmentDate();
@@ -2410,7 +2411,7 @@ public TechnicalMidiDetails(XElement element)
ConsumerFulfillmentDate = element.Elements().Where(e => e.Name == "ConsumerFulfillmentDate").Select(e => new FulfillmentDate(e)).SingleOrDefault() ?? new NullFulfillmentDate();
FileAvailabilityDescriptions = element.Elements().Where(e => e.Name == "FileAvailabilityDescription").Select(e => new Description(e)).ToList();
Files = element.Elements().Where(e => e.Name == "File").Select(e => new File(e)).ToList();
- NumberOfVoices = element.Elements().Where(e => e.Name == "NumberOfVoices").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfVoices = element.Elements().Where(e => e.Name == "NumberOfVoices").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
SoundProcessorType = element.Elements().Where(e => e.Name == "SoundProcessorType").Select(e => new SoundProcessorType(e)).SingleOrDefault() ?? new NullSoundProcessorType();
Fingerprints = element.Elements().Where(e => e.Name == "Fingerprint").Select(e => new Fingerprint(e)).ToList();
LanguageAndScriptCode = element.Attributes().Where(e => e.Name == "LanguageAndScriptCode").Select(e => e.Value).SingleOrDefault();
@@ -2596,9 +2597,9 @@ public TechnicalSoundRecordingDetails(XElement element)
ContainerFormat = element.Elements().Where(e => e.Name == "ContainerFormat").Select(e => new ContainerFormat(e)).SingleOrDefault() ?? new NullContainerFormat();
AudioCodecType = element.Elements().Where(e => e.Name == "AudioCodecType").Select(e => new AudioCodecType(e)).SingleOrDefault() ?? new NullAudioCodecType();
BitRate = element.Elements().Where(e => e.Name == "BitRate").Select(e => new BitRate(e)).SingleOrDefault() ?? new NullBitRate();
- NumberOfChannels = element.Elements().Where(e => e.Name == "NumberOfChannels").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfChannels = element.Elements().Where(e => e.Name == "NumberOfChannels").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
SamplingRate = element.Elements().Where(e => e.Name == "SamplingRate").Select(e => new SamplingRate(e)).SingleOrDefault() ?? new NullSamplingRate();
- BitsPerSample = element.Elements().Where(e => e.Name == "BitsPerSample").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ BitsPerSample = element.Elements().Where(e => e.Name == "BitsPerSample").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
Duration = element.Elements().Where(e => e.Name == "Duration").Select(e => e.Value).SingleOrDefault();
ResourceProcessingRequired = element.Elements().Where(e => e.Name == "ResourceProcessingRequired").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
UsableResourceDuration = element.Elements().Where(e => e.Name == "UsableResourceDuration").Select(e => e.Value).SingleOrDefault();
@@ -2807,14 +2808,14 @@ public TechnicalVideoDetails(XElement element)
FrameRate = element.Elements().Where(e => e.Name == "FrameRate").Select(e => new FrameRate(e)).SingleOrDefault() ?? new NullFrameRate();
ImageHeight = element.Elements().Where(e => e.Name == "ImageHeight").Select(e => new Extent(e)).SingleOrDefault() ?? new NullExtent();
ImageWidth = element.Elements().Where(e => e.Name == "ImageWidth").Select(e => new Extent(e)).SingleOrDefault() ?? new NullExtent();
- AspectRatio = element.Elements().Where(e => e.Name == "AspectRatio").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
- ColorDepth = element.Elements().Where(e => e.Name == "ColorDepth").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ AspectRatio = element.Elements().Where(e => e.Name == "AspectRatio").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
+ ColorDepth = element.Elements().Where(e => e.Name == "ColorDepth").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
VideoDefinitionType = element.Elements().Where(e => e.Name == "VideoDefinitionType").Select(e => e.Value).SingleOrDefault();
AudioCodecType = element.Elements().Where(e => e.Name == "AudioCodecType").Select(e => new AudioCodecType(e)).SingleOrDefault() ?? new NullAudioCodecType();
AudioBitRate = element.Elements().Where(e => e.Name == "AudioBitRate").Select(e => new BitRate(e)).SingleOrDefault() ?? new NullBitRate();
- NumberOfAudioChannels = element.Elements().Where(e => e.Name == "NumberOfAudioChannels").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfAudioChannels = element.Elements().Where(e => e.Name == "NumberOfAudioChannels").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
AudioSamplingRate = element.Elements().Where(e => e.Name == "AudioSamplingRate").Select(e => new SamplingRate(e)).SingleOrDefault() ?? new NullSamplingRate();
- AudioBitsPerSample = element.Elements().Where(e => e.Name == "AudioBitsPerSample").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ AudioBitsPerSample = element.Elements().Where(e => e.Name == "AudioBitsPerSample").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
Duration = element.Elements().Where(e => e.Name == "Duration").Select(e => e.Value).SingleOrDefault();
ResourceProcessingRequired = element.Elements().Where(e => e.Name == "ResourceProcessingRequired").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
UsableResourceDuration = element.Elements().Where(e => e.Name == "UsableResourceDuration").Select(e => e.Value).SingleOrDefault();
@@ -3484,7 +3485,7 @@ public partial class AmountByUseAndDistributionChannelType
public AmountByUseAndDistributionChannelType(XElement element)
{
- Amount = element.Elements().Where(e => e.Name == "Amount").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ Amount = element.Elements().Where(e => e.Name == "Amount").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
UseTypes = element.Elements().Where(e => e.Name == "UseType").Select(e => new UseType(e)).ToList();
UserInterfaceTypes = element.Elements().Where(e => e.Name == "UserInterfaceType").Select(e => new UserInterfaceType(e)).ToList();
DistributionChannelTypes = element.Elements().Where(e => e.Name == "DistributionChannelType").Select(e => new DistributionChannelType(e)).ToList();
@@ -3521,7 +3522,7 @@ public partial class AmountPerCollection
public AmountPerCollection(XElement element)
{
- Amount = element.Elements().Where(e => e.Name == "Amount").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ Amount = element.Elements().Where(e => e.Name == "Amount").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
CollectionType = element.Elements().Where(e => e.Name == "CollectionType").Select(e => new CollectionType(e)).SingleOrDefault() ?? new NullCollectionType();
}
@@ -3589,7 +3590,7 @@ public partial class AppliedRoyaltyRate
public AppliedRoyaltyRate(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
ValueType = element.Attributes().Where(e => e.Name == "ValueType").Select(e => e.Value).SingleOrDefault();
RoyaltyRateType = element.Attributes().Where(e => e.Name == "RoyaltyRateType").Select(e => e.Value).SingleOrDefault();
Namespace = element.Attributes().Where(e => e.Name == "Namespace").Select(e => e.Value).SingleOrDefault();
@@ -3631,7 +3632,7 @@ public Artist(XElement element)
PartyId = element.Elements().Where(e => e.Name == "PartyId").Select(e => new PartyId(e)).SingleOrDefault() ?? new NullPartyId();
PartyNames = element.Elements().Where(e => e.Name == "PartyName").Select(e => new PartyName(e)).ToList();
ArtistRoles = element.Elements().Where(e => e.Name == "ArtistRole").Select(e => new ArtistRole(e)).ToList();
- SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public Artist()
@@ -3771,7 +3772,7 @@ public partial class BitRate
public BitRate(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
UnitOfMeasure = element.Attributes().Where(e => e.Name == "UnitOfMeasure").Select(e => e.Value).SingleOrDefault();
}
@@ -3843,7 +3844,7 @@ public partial class CalculationType
public CalculationType(XElement element)
{
Value = element.Value;
- SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public CalculationType()
@@ -3986,7 +3987,7 @@ public Character(XElement element)
PartyId = element.Elements().Where(e => e.Name == "PartyId").Select(e => new PartyId(e)).SingleOrDefault() ?? new NullPartyId();
PartyNames = element.Elements().Where(e => e.Name == "PartyName").Select(e => new PartyName(e)).ToList();
ResourceContributor = element.Elements().Where(e => e.Name == "ResourceContributor").Select(e => new ResourceContributor(e)).SingleOrDefault() ?? new NullResourceContributor();
- SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public Character()
@@ -4089,7 +4090,7 @@ public partial class CollectionCollectionReference
public CollectionCollectionReference(XElement element)
{
- SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
CollectionCollectionReferenceProp = element.Elements().Where(e => e.Name == "CollectionCollectionReference").Select(e => e.Value).SingleOrDefault();
StartTime = element.Elements().Where(e => e.Name == "StartTime").Select(e => e.Value).SingleOrDefault();
Duration = element.Elements().Where(e => e.Name == "Duration").Select(e => e.Value).SingleOrDefault();
@@ -4128,7 +4129,7 @@ public partial class CollectionCollectionReferenceList
public CollectionCollectionReferenceList(XElement element)
{
- NumberOfCollections = element.Elements().Where(e => e.Name == "NumberOfCollections").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfCollections = element.Elements().Where(e => e.Name == "NumberOfCollections").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
CollectionCollectionReferences = element.Elements().Where(e => e.Name == "CollectionCollectionReference").Select(e => new CollectionCollectionReference(e)).ToList();
}
@@ -5048,7 +5049,7 @@ public partial class DeductionRate
public DeductionRate(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
DeductionRateType = element.Attributes().Where(e => e.Name == "DeductionRateType").Select(e => e.Value).SingleOrDefault();
DeductionDescription = element.Attributes().Where(e => e.Name == "DeductionDescription").Select(e => e.Value).SingleOrDefault();
LanguageAndScriptCode = element.Attributes().Where(e => e.Name == "LanguageAndScriptCode").Select(e => e.Value).SingleOrDefault();
@@ -5322,7 +5323,7 @@ public partial class EventDate
public EventDate(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (DateTime?)null : DateTime.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (DateTime?)null : DateTime.Parse(element.Value, CultureInfo.InvariantCulture);
IsApproximate = element.Attributes().Where(e => e.Name == "IsApproximate").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
IsBefore = element.Attributes().Where(e => e.Name == "IsBefore").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
IsAfter = element.Attributes().Where(e => e.Name == "IsAfter").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
@@ -5412,7 +5413,7 @@ public partial class Extent
public Extent(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
UnitOfMeasure = element.Attributes().Where(e => e.Name == "UnitOfMeasure").Select(e => e.Value).SingleOrDefault();
}
@@ -5665,7 +5666,7 @@ public partial class FrameRate
public FrameRate(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
UnitOfMeasure = element.Attributes().Where(e => e.Name == "UnitOfMeasure").Select(e => e.Value).SingleOrDefault();
}
@@ -5696,7 +5697,7 @@ public partial class FulfillmentDate
public FulfillmentDate(XElement element)
{
- FulfillmentDateProp = element.Elements().Where(e => e.Name == "FulfillmentDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value)).SingleOrDefault();
+ FulfillmentDateProp = element.Elements().Where(e => e.Name == "FulfillmentDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
ResourceReleaseReferences = element.Elements().Where(e => e.Name == "ResourceReleaseReference").Select(e => e.Value).ToList();
}
@@ -5799,7 +5800,7 @@ public partial class GuaranteedAmount
public GuaranteedAmount(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
CurrencyCode = element.Attributes().Where(e => e.Name == "CurrencyCode").Select(e => e.Value).SingleOrDefault();
ReferenceUnit = element.Attributes().Where(e => e.Name == "ReferenceUnit").Select(e => e.Value).SingleOrDefault();
}
@@ -6145,7 +6146,7 @@ public IndirectResourceContributor(XElement element)
PartyId = element.Elements().Where(e => e.Name == "PartyId").Select(e => new PartyId(e)).SingleOrDefault() ?? new NullPartyId();
PartyNames = element.Elements().Where(e => e.Name == "PartyName").Select(e => new PartyName(e)).ToList();
IndirectResourceContributorRoles = element.Elements().Where(e => e.Name == "IndirectResourceContributorRole").Select(e => new MusicalWorkContributorRole(e)).ToList();
- SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public IndirectResourceContributor()
@@ -6553,8 +6554,8 @@ public partial class MessageNotificationPeriod
public MessageNotificationPeriod(XElement element)
{
- StartDate = element.Elements().Where(e => e.Name == "StartDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value)).SingleOrDefault();
- EndDate = element.Elements().Where(e => e.Name == "EndDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value)).SingleOrDefault();
+ StartDate = element.Elements().Where(e => e.Name == "StartDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
+ EndDate = element.Elements().Where(e => e.Name == "EndDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public MessageNotificationPeriod()
@@ -6815,7 +6816,7 @@ public MusicalWorkContributor(XElement element)
PartyNames = element.Elements().Where(e => e.Name == "PartyName").Select(e => new PartyName(e)).ToList();
MusicalWorkContributorRoles = element.Elements().Where(e => e.Name == "MusicalWorkContributorRole").Select(e => new MusicalWorkContributorRole(e)).ToList();
SocietyAffiliations = element.Elements().Where(e => e.Name == "SocietyAffiliation").Select(e => new SocietyAffiliation(e)).ToList();
- SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public MusicalWorkContributor()
@@ -7033,7 +7034,7 @@ public partial class NumberOfDataMismatchItems
public NumberOfDataMismatchItems(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (int?)null : int.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (int?)null : int.Parse(element.Value, CultureInfo.InvariantCulture);
DataMismatchStatus = element.Attributes().Where(e => e.Name == "DataMismatchStatus").Select(e => e.Value).SingleOrDefault();
}
@@ -7067,7 +7068,7 @@ public partial class NumberOfSubscribers
public NumberOfSubscribers(XElement element)
{
- Quantity = element.Elements().Where(e => e.Name == "Quantity").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ Quantity = element.Elements().Where(e => e.Name == "Quantity").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
UseTypes = element.Elements().Where(e => e.Name == "UseType").Select(e => new UseType(e)).ToList();
UserInterfaceTypes = element.Elements().Where(e => e.Name == "UserInterfaceType").Select(e => new UserInterfaceType(e)).ToList();
DistributionChannelTypes = element.Elements().Where(e => e.Name == "DistributionChannelType").Select(e => new DistributionChannelType(e)).ToList();
@@ -7415,7 +7416,7 @@ public partial class Price
public Price(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
CurrencyCode = element.Attributes().Where(e => e.Name == "CurrencyCode").Select(e => e.Value).SingleOrDefault();
}
@@ -7446,7 +7447,7 @@ public partial class PriceConsumerPaidExcSalesTax
public PriceConsumerPaidExcSalesTax(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
CurrencyCode = element.Attributes().Where(e => e.Name == "CurrencyCode").Select(e => e.Value).SingleOrDefault();
}
@@ -7843,7 +7844,7 @@ public partial class RecordCompanyMarketShareData
public RecordCompanyMarketShareData(XElement element)
{
ReleaseTypes = element.Elements().Where(e => e.Name == "ReleaseType").Select(e => new ReleaseType(e)).ToList();
- UnitsSoldTotal = element.Elements().Where(e => e.Name == "UnitsSoldTotal").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ UnitsSoldTotal = element.Elements().Where(e => e.Name == "UnitsSoldTotal").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
UseTypes = element.Elements().Where(e => e.Name == "UseType").Select(e => new UseType(e)).ToList();
UserInterfaceTypes = element.Elements().Where(e => e.Name == "UserInterfaceType").Select(e => new UserInterfaceType(e)).ToList();
DistributionChannelTypes = element.Elements().Where(e => e.Name == "DistributionChannelType").Select(e => new DistributionChannelType(e)).ToList();
@@ -8134,7 +8135,7 @@ public partial class ReleaseCollectionReferenceList
public ReleaseCollectionReferenceList(XElement element)
{
- NumberOfCollections = element.Elements().Where(e => e.Name == "NumberOfCollections").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfCollections = element.Elements().Where(e => e.Name == "NumberOfCollections").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
ReleaseCollectionReferences = element.Elements().Where(e => e.Name == "ReleaseCollectionReference").Select(e => new ReleaseCollectionReference(e)).ToList();
}
@@ -8600,7 +8601,7 @@ public ResourceContainedResourceReference(XElement element)
{
ResourceContainedResourceReferenceProp = element.Elements().Where(e => e.Name == "ResourceContainedResourceReference").Select(e => e.Value).SingleOrDefault();
DurationUsed = element.Elements().Where(e => e.Name == "DurationUsed").Select(e => e.Value).SingleOrDefault();
- StartPoint = element.Elements().Where(e => e.Name == "StartPoint").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ StartPoint = element.Elements().Where(e => e.Name == "StartPoint").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
Purpose = element.Elements().Where(e => e.Name == "Purpose").Select(e => new Purpose(e)).SingleOrDefault() ?? new NullPurpose();
}
@@ -8666,7 +8667,7 @@ public ResourceContributor(XElement element)
PartyId = element.Elements().Where(e => e.Name == "PartyId").Select(e => new PartyId(e)).SingleOrDefault() ?? new NullPartyId();
PartyNames = element.Elements().Where(e => e.Name == "PartyName").Select(e => new PartyName(e)).ToList();
ResourceContributorRoles = element.Elements().Where(e => e.Name == "ResourceContributorRole").Select(e => new ResourceContributorRole(e)).ToList();
- SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public ResourceContributor()
@@ -8820,7 +8821,7 @@ public partial class ResourceMusicalWorkReference
public ResourceMusicalWorkReference(XElement element)
{
- SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
DurationUsed = element.Elements().Where(e => e.Name == "DurationUsed").Select(e => e.Value).SingleOrDefault();
IsFragment = element.Elements().Where(e => e.Name == "IsFragment").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
ResourceMusicalWorkReferenceProp = element.Elements().Where(e => e.Name == "ResourceMusicalWorkReference").Select(e => e.Value).SingleOrDefault();
@@ -9116,7 +9117,7 @@ public RightsController(XElement element)
RightsControllerRoles = element.Elements().Where(e => e.Name == "RightsControllerRole").Select(e => e.Value).ToList();
RightShareUnknown = element.Elements().Where(e => e.Name == "RightShareUnknown").Select(e => string.IsNullOrEmpty(e.Value) ? (bool?)null : bool.Parse(e.Value)).SingleOrDefault();
RightSharePercentage = element.Elements().Where(e => e.Name == "RightSharePercentage").Select(e => e.Value).SingleOrDefault();
- SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Attributes().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public RightsController()
@@ -9190,7 +9191,7 @@ public partial class RoyaltyAmount
public RoyaltyAmount(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
CurrencyCode = element.Attributes().Where(e => e.Name == "CurrencyCode").Select(e => e.Value).SingleOrDefault();
}
@@ -9289,7 +9290,7 @@ public partial class SamplingRate
public SamplingRate(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
UnitOfMeasure = element.Attributes().Where(e => e.Name == "UnitOfMeasure").Select(e => e.Value).SingleOrDefault();
}
@@ -9681,7 +9682,7 @@ public partial class SoundRecordingCollectionReference
public SoundRecordingCollectionReference(XElement element)
{
- SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ SequenceNumber = element.Elements().Where(e => e.Name == "SequenceNumber").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
SoundRecordingCollectionReferenceProp = element.Elements().Where(e => e.Name == "SoundRecordingCollectionReference").Select(e => e.Value).SingleOrDefault();
StartTime = element.Elements().Where(e => e.Name == "StartTime").Select(e => e.Value).SingleOrDefault();
Duration = element.Elements().Where(e => e.Name == "Duration").Select(e => e.Value).SingleOrDefault();
@@ -9720,7 +9721,7 @@ public partial class SoundRecordingCollectionReferenceList
public SoundRecordingCollectionReferenceList(XElement element)
{
- NumberOfCollections = element.Elements().Where(e => e.Name == "NumberOfCollections").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfCollections = element.Elements().Where(e => e.Name == "NumberOfCollections").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
SoundRecordingCollectionReferences = element.Elements().Where(e => e.Name == "SoundRecordingCollectionReference").Select(e => new SoundRecordingCollectionReference(e)).ToList();
}
@@ -10065,7 +10066,7 @@ public partial class Tax
public Tax(XElement element)
{
- Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value);
+ Value = string.IsNullOrEmpty(element.Value) ? (decimal?)null : decimal.Parse(element.Value, CultureInfo.InvariantCulture);
CurrencyCode = element.Attributes().Where(e => e.Name == "CurrencyCode").Select(e => e.Value).SingleOrDefault();
}
@@ -10097,7 +10098,7 @@ public partial class TaxRate
public TaxRate(XElement element)
{
- Rate = element.Elements().Where(e => e.Name == "Rate").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ Rate = element.Elements().Where(e => e.Name == "Rate").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
TaxTypes = element.Elements().Where(e => e.Name == "TaxType").Select(e => new TaxType(e)).ToList();
TaxScopes = element.Elements().Where(e => e.Name == "TaxScope").Select(e => new TaxScope(e)).ToList();
}
@@ -10558,7 +10559,7 @@ public Usage(XElement element)
DistributionChannelTypes = element.Elements().Where(e => e.Name == "DistributionChannelType").Select(e => new DistributionChannelType(e)).ToList();
CarrierTypes = element.Elements().Where(e => e.Name == "CarrierType").Select(e => new CarrierType(e)).ToList();
TechnicalInstantiation = element.Elements().Where(e => e.Name == "TechnicalInstantiation").Select(e => new TechnicalInstantiation(e)).SingleOrDefault() ?? new NullTechnicalInstantiation();
- NumberOfUsages = element.Elements().Where(e => e.Name == "NumberOfUsages").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value)).SingleOrDefault();
+ NumberOfUsages = element.Elements().Where(e => e.Name == "NumberOfUsages").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
}
public Usage()
diff --git a/src/AutoGenerated/vehicles.cs b/src/AutoGenerated/vehicles.cs
index 6bff772..0f2263c 100644
--- a/src/AutoGenerated/vehicles.cs
+++ b/src/AutoGenerated/vehicles.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Globalization;
using System.Linq;
using System.Xml.Linq;
#pragma warning disable 660,661
@@ -37,13 +38,13 @@ internal class NullVehicles : Vehicles
public partial class Color
{
public virtual string Hue { get; set; }
- public virtual decimal? Rgb { get; set; }
+ public virtual int? Rgb { get; set; }
public virtual ColorDescription Description { get; set; }
public Color(XElement element)
{
Hue = element.Elements().Where(e => e.Name == "hue").Select(e => e.Value).SingleOrDefault();
- Rgb = element.Elements().Where(e => e.Name == "rgb").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value)).SingleOrDefault();
+ Rgb = element.Elements().Where(e => e.Name == "rgb").Select(e => string.IsNullOrEmpty(e.Value) ? (int?)null : int.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
Description = element.Elements().Where(e => e.Name == "description").Select(e => new ColorDescription(e)).SingleOrDefault() ?? new NullColorDescription();
}
@@ -64,7 +65,7 @@ public Color()
internal class NullColor : Color
{
public override string Hue { get { throw this.NullAccess("Hue"); } }
- public override decimal? Rgb { get { throw this.NullAccess("Rgb"); } }
+ public override int? Rgb { get { throw this.NullAccess("Rgb"); } }
public override ColorDescription Description { get { throw this.NullAccess("Description"); } }
}
@@ -73,13 +74,15 @@ public partial class Car
public virtual string Brand { get; set; }
public virtual DateTime? ProductionDate { get; set; }
public virtual ManufacturerName Manufacturer { get; set; }
+ public virtual decimal? ModelVersion { get; set; }
public virtual Color Color { get; set; }
public Car(XElement element)
{
Brand = element.Elements().Where(e => e.Name == "brand").Select(e => e.Value).SingleOrDefault();
- ProductionDate = element.Elements().Where(e => e.Name == "productionDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value)).SingleOrDefault();
+ ProductionDate = element.Elements().Where(e => e.Name == "productionDate").Select(e => string.IsNullOrEmpty(e.Value) ? (DateTime?)null : DateTime.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
Manufacturer = element.Elements().Where(e => e.Name == "manufacturer").Select(e => new ManufacturerName(e)).SingleOrDefault() ?? new NullManufacturerName();
+ ModelVersion = element.Elements().Where(e => e.Name == "modelVersion").Select(e => string.IsNullOrEmpty(e.Value) ? (decimal?)null : decimal.Parse(e.Value, CultureInfo.InvariantCulture)).SingleOrDefault();
Color = element.Elements().Where(e => e.Name == "color").Select(e => new Color(e)).SingleOrDefault() ?? new NullColor();
}
@@ -102,6 +105,7 @@ internal class NullCar : Car
public override string Brand { get { throw this.NullAccess("Brand"); } }
public override DateTime? ProductionDate { get { throw this.NullAccess("ProductionDate"); } }
public override ManufacturerName Manufacturer { get { throw this.NullAccess("Manufacturer"); } }
+ public override decimal? ModelVersion { get { throw this.NullAccess("ModelVersion"); } }
public override Color Color { get { throw this.NullAccess("Color"); } }
}
diff --git a/src/SevenDigital.Parsing.XsdToObject.Tests/ClassGeneratorTest.cs b/src/SevenDigital.Parsing.XsdToObject.Tests/ClassGeneratorTest.cs
index 2066cca..ab57e9a 100644
--- a/src/SevenDigital.Parsing.XsdToObject.Tests/ClassGeneratorTest.cs
+++ b/src/SevenDigital.Parsing.XsdToObject.Tests/ClassGeneratorTest.cs
@@ -34,11 +34,12 @@ public void ShouldHaveCar()
{
ClassInfo car = _classes.Single(c => c.XmlName == "car");
- Assert.That(car.Elements.Count, Is.EqualTo(4));
+ Assert.That(car.Elements.Count, Is.EqualTo(5));
GeneratorAssertHelper.AssertStringProperty(car, "brand", false, "Brand");
GeneratorAssertHelper.AssertBindedProperty(car, "color", "color", false, "Color", "Color");
GeneratorAssertHelper.AssertBindedProperty(car, "manufacturer", "manufacturerName", false, "Manufacturer", "ManufacturerName");
GeneratorAssertHelper.AssertProperty(car, "productionDate", "date", false, "ProductionDate", "DateTime?", false);
+ GeneratorAssertHelper.AssertProperty(car, "modelVersion", "decimal", false, "ModelVersion", "decimal?", false);
}
[Test]
@@ -48,7 +49,7 @@ public void ShouldHaveColor()
Assert.That(color.Elements.Count, Is.EqualTo(3));
GeneratorAssertHelper.AssertStringProperty(color, "hue", false, "Hue");
- GeneratorAssertHelper.AssertProperty(color, "rgb", "decimal", false, "Rgb", "decimal?", false);
+ GeneratorAssertHelper.AssertProperty(color, "rgb", "int", false, "Rgb", "int?", false);
GeneratorAssertHelper.AssertBindedProperty(color, "description", "colorDescription", false, "Description", "ColorDescription");
}
diff --git a/src/SevenDigital.Parsing.XsdToObject.Tests/res/schema.xsd b/src/SevenDigital.Parsing.XsdToObject.Tests/res/schema.xsd
index e82cd94..341be49 100644
--- a/src/SevenDigital.Parsing.XsdToObject.Tests/res/schema.xsd
+++ b/src/SevenDigital.Parsing.XsdToObject.Tests/res/schema.xsd
@@ -12,11 +12,12 @@
+
-
+
diff --git a/src/SevenDigital.Parsing.XsdToObject.Tests/res/xml.xml b/src/SevenDigital.Parsing.XsdToObject.Tests/res/xml.xml
index b6d324b..1c547a6 100644
--- a/src/SevenDigital.Parsing.XsdToObject.Tests/res/xml.xml
+++ b/src/SevenDigital.Parsing.XsdToObject.Tests/res/xml.xml
@@ -2,21 +2,23 @@
BMW
- 2008-10-25
+ 2008-10-25
black
This is the text
-
+
- BMW UK
+ BMW UK
+ 2.1
Honda
red
- 16711680
+ 16711680
UK Manufacturing Ltd
+ 1.0
\ No newline at end of file
diff --git a/src/SevenDigital.Parsing.XsdToObject/ClassWriter.cs b/src/SevenDigital.Parsing.XsdToObject/ClassWriter.cs
index 5b74dfb..4beb415 100644
--- a/src/SevenDigital.Parsing.XsdToObject/ClassWriter.cs
+++ b/src/SevenDigital.Parsing.XsdToObject/ClassWriter.cs
@@ -45,6 +45,7 @@ private void WriteUsings()
{
_writer.WriteLine("using System;");
_writer.WriteLine("using System.Collections.Generic;");
+ _writer.WriteLine("using System.Globalization;");
_writer.WriteLine("using System.Linq;");
_writer.WriteLine("using System.Xml.Linq;");
_writer.WriteLine("#pragma warning disable 660,661");
@@ -168,7 +169,7 @@ private void WritePropertyInitialization(StreamWriter writer, PropertyInfo prope
private void WriteValuePropertyInitialization(StreamWriter writer, PropertyInfo property)
{
var instanceCreation = property.IsParsable
- ? GetParsedPropertyValue(property,"element")
+ ? GetParsedPropertyValue(property, "element")
: "element.Value";
writer.WriteLine("\t\t\t{0} = {1};", property.GetCodeName(), instanceCreation);
@@ -178,7 +179,7 @@ private string GetPropertyValueRetriever(PropertyInfo property, string collectio
{
string instanceCreation = property.IsParsable
? GetParsedPropertyValue(property, "e")
- : GetXElementToPropertyValue(property,"e");
+ : GetXElementToPropertyValue(property, "e");
return string.Format("element.{0}().Where(e => e.Name == \"{1}\").Select(e => {2})",
collectionName,
@@ -188,7 +189,12 @@ private string GetPropertyValueRetriever(PropertyInfo property, string collectio
private static string GetParsedPropertyValue(PropertyInfo property, string variableName)
{
- return string.Format("string.IsNullOrEmpty({0}.Value) ? ({1})null : {2}.Parse({0}.Value)", variableName, property.GetCodeType(), property.GetCodeType().TrimEnd('?'));
+ var valueToParse = variableName + ".Value";
+
+ return string.Format("string.IsNullOrEmpty({0}) ? ({1})null : {2}",
+ valueToParse,
+ property.GetCodeType(),
+ TypeUtils.GetParsableType(property.XmlType).ConstructParseCall(valueToParse));
}
private string GetPropertyValueAccessorMethod(PropertyInfo property)
diff --git a/src/SevenDigital.Parsing.XsdToObject/ParsableType.cs b/src/SevenDigital.Parsing.XsdToObject/ParsableType.cs
new file mode 100644
index 0000000..61865ed
--- /dev/null
+++ b/src/SevenDigital.Parsing.XsdToObject/ParsableType.cs
@@ -0,0 +1,31 @@
+using System;
+
+namespace SevenDigital.Parsing.XsdToObject
+{
+ public class ParsableType
+ {
+ private readonly string _parseCallFormat;
+
+ public ParsableType(string xmlTypeName, string netTypeName, Type type)
+ {
+ XmlTypeName = xmlTypeName;
+ NetTypeName = netTypeName;
+ _parseCallFormat = FormatParseCall(type);
+ }
+
+ private string FormatParseCall(Type type)
+ {
+ var formatParseCall = type.GetMethod("Parse", new[] { typeof(string), typeof(IFormatProvider) }) != null
+ ? ".Parse({0}, CultureInfo.InvariantCulture)"
+ : ".Parse({0})";
+ return NetTypeName.TrimEnd('?') + formatParseCall;
+ }
+
+ public string XmlTypeName { get; private set; }
+ public string NetTypeName { get; private set; }
+ public string ConstructParseCall(string value)
+ {
+ return string.Format(_parseCallFormat, value);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/SevenDigital.Parsing.XsdToObject/PropertyInfo.cs b/src/SevenDigital.Parsing.XsdToObject/PropertyInfo.cs
index 27e9794..c225aba 100644
--- a/src/SevenDigital.Parsing.XsdToObject/PropertyInfo.cs
+++ b/src/SevenDigital.Parsing.XsdToObject/PropertyInfo.cs
@@ -26,7 +26,7 @@ public string GetCodeName()
public string GetCodeType()
{
- string type = BindedType != null ? BindedType.GetCodeName() : TypeUtils.ToCodeType(XmlType);
+ string type = BindedType != null ? BindedType.GetCodeName() : TypeUtils.ToNetTypeName(XmlType);
return !IsList ? type : string.Format("IList<{0}>", type);
}
diff --git a/src/SevenDigital.Parsing.XsdToObject/SevenDigital.Parsing.XsdToObject.csproj b/src/SevenDigital.Parsing.XsdToObject/SevenDigital.Parsing.XsdToObject.csproj
index 1250dd7..4d654a7 100644
--- a/src/SevenDigital.Parsing.XsdToObject/SevenDigital.Parsing.XsdToObject.csproj
+++ b/src/SevenDigital.Parsing.XsdToObject/SevenDigital.Parsing.XsdToObject.csproj
@@ -43,6 +43,7 @@
+
diff --git a/src/SevenDigital.Parsing.XsdToObject/TypeUtils.cs b/src/SevenDigital.Parsing.XsdToObject/TypeUtils.cs
index 9ae31a2..21c169e 100644
--- a/src/SevenDigital.Parsing.XsdToObject/TypeUtils.cs
+++ b/src/SevenDigital.Parsing.XsdToObject/TypeUtils.cs
@@ -1,30 +1,43 @@
+using System;
using System.Collections.Generic;
namespace SevenDigital.Parsing.XsdToObject
{
public static class TypeUtils
{
- private static readonly IDictionary _parsableTypesMap = new Dictionary
+ private static readonly IDictionary _parsableTypesMap = new Dictionary();
+
+ static TypeUtils()
+ {
+ AddType("boolean", "bool?", typeof(bool));
+ AddType("integer", "int?", typeof(int));
+ AddType("int", "int?", typeof(int));
+ AddType("decimal", "decimal?", typeof(decimal));
+ AddType("dateTime", "DateTime?", typeof(DateTime));
+ AddType("date", "DateTime?", typeof(DateTime));
+ }
+
+ private static void AddType(string xmlTypeName, string codeTypeName, Type netType)
{
- {"boolean","bool?"},
- {"integer","int?"},
- {"int","int?"},
- {"decimal","decimal?"},
- {"dateTime","DateTime?"},
- {"date","DateTime?"}
- };
+ _parsableTypesMap.Add(xmlTypeName, new ParsableType(xmlTypeName, codeTypeName, netType));
+ }
public static bool IsParsable(string xmlType)
{
return _parsableTypesMap.ContainsKey(xmlType.ToLower());
}
- public static string ToCodeType(string xmlType)
+ public static ParsableType GetParsableType(string xmlType)
+ {
+ return _parsableTypesMap[xmlType];
+ }
+
+ public static string ToNetTypeName(string xmlType)
{
- string result;
+ ParsableType result;
return _parsableTypesMap.TryGetValue(xmlType.ToLower(), out result)
- ? result
- : xmlType;
+ ? result.NetTypeName
+ : xmlType;
}
public static bool IsSimpleType(string xmlType)