From fb5a874d906f7de3450f13b97b059b59b293ae69 Mon Sep 17 00:00:00 2001 From: Aptivi CEO Date: Mon, 1 Apr 2024 18:33:05 +0300 Subject: [PATCH] imp - brk|doc - Main ALTID is now -1 --- ALTID may also be specified as ALTID=0, so we've reserved ALTID -1 to be the main representation of the property. --- Type: imp Breaking: True Doc Required: True Part: 1/1 --- VisualCard/Parsers/VcardParser.cs | 7 ++++++- VisualCard/Parts/CardBuilderTools.cs | 2 +- VisualCard/Parts/Implementations/AddressInfo.cs | 4 +--- VisualCard/Parts/Implementations/AgentInfo.cs | 4 +--- VisualCard/Parts/Implementations/AnniversaryInfo.cs | 2 +- VisualCard/Parts/Implementations/BirthDateInfo.cs | 3 +-- VisualCard/Parts/Implementations/CategoryInfo.cs | 2 +- VisualCard/Parts/Implementations/EmailInfo.cs | 3 +-- VisualCard/Parts/Implementations/GenderInfo.cs | 2 +- VisualCard/Parts/Implementations/GeoInfo.cs | 4 +--- VisualCard/Parts/Implementations/ImppInfo.cs | 4 +--- VisualCard/Parts/Implementations/KeyInfo.cs | 2 +- VisualCard/Parts/Implementations/LabelAddressInfo.cs | 4 +--- VisualCard/Parts/Implementations/LogoInfo.cs | 4 +--- VisualCard/Parts/Implementations/NameInfo.cs | 3 +-- VisualCard/Parts/Implementations/NicknameInfo.cs | 4 +--- VisualCard/Parts/Implementations/OrganizationInfo.cs | 3 +-- VisualCard/Parts/Implementations/PhotoInfo.cs | 4 +--- VisualCard/Parts/Implementations/RevisionInfo.cs | 12 ++++-------- VisualCard/Parts/Implementations/RoleInfo.cs | 3 +-- VisualCard/Parts/Implementations/SoundInfo.cs | 4 +--- VisualCard/Parts/Implementations/TelephoneInfo.cs | 4 +--- VisualCard/Parts/Implementations/TimeDateZoneInfo.cs | 4 +--- VisualCard/Parts/Implementations/TitleInfo.cs | 3 +-- VisualCard/Parts/Implementations/XNameInfo.cs | 3 +-- VisualCard/Parts/Implementations/XmlInfo.cs | 3 +-- 26 files changed, 34 insertions(+), 63 deletions(-) diff --git a/VisualCard/Parsers/VcardParser.cs b/VisualCard/Parsers/VcardParser.cs index c26cf25..a3c8ea7 100644 --- a/VisualCard/Parsers/VcardParser.cs +++ b/VisualCard/Parsers/VcardParser.cs @@ -103,7 +103,7 @@ public Card Parse() string[] splitValues = value.Split([VcardConstants._fieldDelimiter], StringSplitOptions.RemoveEmptyEntries); bool isWithType = splitArgs.Length > 0; List finalArgs = []; - int altId = 0; + int altId = -1; // Now, parse a line try @@ -115,9 +115,14 @@ public Card Parse() { if (splitArgs[0].StartsWith(VcardConstants._altIdArgumentSpecifier)) { + // We need ALTID to be numeric if (!int.TryParse(splitArgs[0].Substring(VcardConstants._altIdArgumentSpecifier.Length), out altId)) throw new InvalidDataException("ALTID must be numeric"); + // We need ALTID to be positive + if (altId < 0) + throw new InvalidDataException("ALTID must be positive"); + // Here, we require arguments for ALTID if (splitArgs.Length <= 1) throw new InvalidDataException("ALTID must have one or more arguments to specify why this instance is an alternative"); diff --git a/VisualCard/Parts/CardBuilderTools.cs b/VisualCard/Parts/CardBuilderTools.cs index 2864276..a350002 100644 --- a/VisualCard/Parts/CardBuilderTools.cs +++ b/VisualCard/Parts/CardBuilderTools.cs @@ -35,7 +35,7 @@ internal static string BuildArguments(BaseCardPartInfo partInfo, Version cardVer // Check to see if we've been provided arguments bool installAltId = partInfo.AltId >= 0 && partInfo.Arguments.Length > 0 && cardVersion.Major >= 4; - bool noSemicolon = partInfo.AltId == 0 && partInfo.Arguments.Length == 0 && finalElementTypes.Length == 0 && string.IsNullOrEmpty(finalValue); + bool noSemicolon = partInfo.AltId < 0 && partInfo.Arguments.Length == 0 && finalElementTypes.Length == 0 && string.IsNullOrEmpty(finalValue); string xNonstandardName = partInfo is XNameInfo xName ? xName.XKeyName : ""; if (noSemicolon) return xNonstandardName + VcardConstants._argumentDelimiter.ToString(); diff --git a/VisualCard/Parts/Implementations/AddressInfo.cs b/VisualCard/Parts/Implementations/AddressInfo.cs index 7219b6e..caaa8de 100644 --- a/VisualCard/Parts/Implementations/AddressInfo.cs +++ b/VisualCard/Parts/Implementations/AddressInfo.cs @@ -75,8 +75,6 @@ public class AddressInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Get the value string[] splitAdr = value.Split(VcardConstants._fieldDelimiter); @@ -93,7 +91,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ string _addressRegion = Regex.Unescape(splitAdr[4]); string _addressPostalCode = Regex.Unescape(splitAdr[5]); string _addressCountry = Regex.Unescape(splitAdr[6]); - AddressInfo _address = new(altIdSupported ? altId : 0, finalArgs, _addressTypes, valueType, _addressPOBox, _addressExtended, _addressStreet, _addressLocality, _addressRegion, _addressPostalCode, _addressCountry); + AddressInfo _address = new(altId, finalArgs, _addressTypes, valueType, _addressPOBox, _addressExtended, _addressStreet, _addressLocality, _addressRegion, _addressPostalCode, _addressCountry); return _address; } diff --git a/VisualCard/Parts/Implementations/AgentInfo.cs b/VisualCard/Parts/Implementations/AgentInfo.cs index bf12829..9c9218e 100644 --- a/VisualCard/Parts/Implementations/AgentInfo.cs +++ b/VisualCard/Parts/Implementations/AgentInfo.cs @@ -56,8 +56,6 @@ internal override string ToStringVcardInternal(Version cardVersion) internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Check the provided agent if (string.IsNullOrEmpty(value)) throw new InvalidDataException("Agent information must specify exactly one value (agent vCard contents that have their lines delimited by \\n)"); @@ -65,7 +63,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ // Populate the fields string _agentVcard = Regex.Unescape(value).Replace("\\n", "\n"); var _agentVcardParsers = CardTools.GetCardsFromString(_agentVcard); - AgentInfo _agent = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _agentVcardParsers); + AgentInfo _agent = new(altId, finalArgs, elementTypes, valueType, _agentVcardParsers); return _agent; } diff --git a/VisualCard/Parts/Implementations/AnniversaryInfo.cs b/VisualCard/Parts/Implementations/AnniversaryInfo.cs index ceeb424..96ca587 100644 --- a/VisualCard/Parts/Implementations/AnniversaryInfo.cs +++ b/VisualCard/Parts/Implementations/AnniversaryInfo.cs @@ -58,7 +58,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ anniversary = DateTime.Parse(value); // Add the fetched information - AnniversaryInfo _time = new(0, [], [], valueType, anniversary); + AnniversaryInfo _time = new(-1, [], [], valueType, anniversary); return _time; } diff --git a/VisualCard/Parts/Implementations/BirthDateInfo.cs b/VisualCard/Parts/Implementations/BirthDateInfo.cs index 1409494..629c8f2 100644 --- a/VisualCard/Parts/Implementations/BirthDateInfo.cs +++ b/VisualCard/Parts/Implementations/BirthDateInfo.cs @@ -58,8 +58,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ bday = DateTime.Parse(value); // Add the fetched information - bool altIdSupported = cardVersion.Major >= 4; - BirthDateInfo _time = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, bday); + BirthDateInfo _time = new(altId, finalArgs, elementTypes, valueType, bday); return _time; } diff --git a/VisualCard/Parts/Implementations/CategoryInfo.cs b/VisualCard/Parts/Implementations/CategoryInfo.cs index 73e2111..675c06a 100644 --- a/VisualCard/Parts/Implementations/CategoryInfo.cs +++ b/VisualCard/Parts/Implementations/CategoryInfo.cs @@ -48,7 +48,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ var categories = Regex.Unescape(value).Split(','); // Add the fetched information - CategoryInfo _time = new(0, [], elementTypes, valueType, categories); + CategoryInfo _time = new(-1, [], elementTypes, valueType, categories); return _time; } diff --git a/VisualCard/Parts/Implementations/EmailInfo.cs b/VisualCard/Parts/Implementations/EmailInfo.cs index 4082535..c6db28b 100644 --- a/VisualCard/Parts/Implementations/EmailInfo.cs +++ b/VisualCard/Parts/Implementations/EmailInfo.cs @@ -45,7 +45,6 @@ public class EmailInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { MailAddress mail; - bool altIdSupported = cardVersion.Major >= 4; // Try to create mail address try @@ -59,7 +58,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ // Populate the fields string _emailAddress = mail.Address; - EmailInfo _address = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _emailAddress); + EmailInfo _address = new(altId, finalArgs, elementTypes, valueType, _emailAddress); return _address; } diff --git a/VisualCard/Parts/Implementations/GenderInfo.cs b/VisualCard/Parts/Implementations/GenderInfo.cs index b1ca3c9..50d19db 100644 --- a/VisualCard/Parts/Implementations/GenderInfo.cs +++ b/VisualCard/Parts/Implementations/GenderInfo.cs @@ -78,7 +78,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ }; // Add the fetched information - GenderInfo _gender = new(0, [], elementTypes, valueType, gender, genderDescription); + GenderInfo _gender = new(-1, [], elementTypes, valueType, gender, genderDescription); return _gender; } diff --git a/VisualCard/Parts/Implementations/GeoInfo.cs b/VisualCard/Parts/Implementations/GeoInfo.cs index 022e308..4e2b94e 100644 --- a/VisualCard/Parts/Implementations/GeoInfo.cs +++ b/VisualCard/Parts/Implementations/GeoInfo.cs @@ -48,10 +48,8 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ string geoValue = value.Substring(VcardConstants._geoSpecifier.Length + 1); string _geoStr = Regex.Unescape(geoValue); - bool altIdSupported = cardVersion.Major >= 4; - // Populate the fields - GeoInfo _geo = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _geoStr); + GeoInfo _geo = new(altId, finalArgs, elementTypes, valueType, _geoStr); return _geo; } diff --git a/VisualCard/Parts/Implementations/ImppInfo.cs b/VisualCard/Parts/Implementations/ImppInfo.cs index 9135785..24c7c42 100644 --- a/VisualCard/Parts/Implementations/ImppInfo.cs +++ b/VisualCard/Parts/Implementations/ImppInfo.cs @@ -43,11 +43,9 @@ public class ImppInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Populate the fields string _impp = Regex.Unescape(value); - ImppInfo _imppInstance = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _impp); + ImppInfo _imppInstance = new(altId, finalArgs, elementTypes, valueType, _impp); return _imppInstance; } diff --git a/VisualCard/Parts/Implementations/KeyInfo.cs b/VisualCard/Parts/Implementations/KeyInfo.cs index b4d8464..89e34a6 100644 --- a/VisualCard/Parts/Implementations/KeyInfo.cs +++ b/VisualCard/Parts/Implementations/KeyInfo.cs @@ -73,7 +73,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ } // Populate the fields - KeyInfo _key = new(vCard4 ? altId : 0, finalArgs, elementTypes, valueType, keyEncoding, value); + KeyInfo _key = new(altId, finalArgs, elementTypes, valueType, keyEncoding, value); return _key; } diff --git a/VisualCard/Parts/Implementations/LabelAddressInfo.cs b/VisualCard/Parts/Implementations/LabelAddressInfo.cs index b7f1de5..c6c0890 100644 --- a/VisualCard/Parts/Implementations/LabelAddressInfo.cs +++ b/VisualCard/Parts/Implementations/LabelAddressInfo.cs @@ -43,11 +43,9 @@ public class LabelAddressInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Populate the fields string _addressLabel = Regex.Unescape(value); - LabelAddressInfo _address = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _addressLabel); + LabelAddressInfo _address = new(altId, finalArgs, elementTypes, valueType, _addressLabel); return _address; } diff --git a/VisualCard/Parts/Implementations/LogoInfo.cs b/VisualCard/Parts/Implementations/LogoInfo.cs index 765e337..cb8790a 100644 --- a/VisualCard/Parts/Implementations/LogoInfo.cs +++ b/VisualCard/Parts/Implementations/LogoInfo.cs @@ -47,13 +47,11 @@ public class LogoInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Check to see if the value is prepended by the ENCODING= argument string logoEncoding = VcardParserTools.GetValuesString(finalArgs, "BASE64", VcardConstants._encodingArgumentSpecifier); // Populate the fields - LogoInfo _logo = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, logoEncoding, value); + LogoInfo _logo = new(altId, finalArgs, elementTypes, valueType, logoEncoding, value); return _logo; } diff --git a/VisualCard/Parts/Implementations/NameInfo.cs b/VisualCard/Parts/Implementations/NameInfo.cs index f2fe233..1e00424 100644 --- a/VisualCard/Parts/Implementations/NameInfo.cs +++ b/VisualCard/Parts/Implementations/NameInfo.cs @@ -72,7 +72,6 @@ internal override string ToStringVcardInternal(Version cardVersion) internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; string[] splitName = value.Split(VcardConstants._fieldDelimiter); if (splitName.Length < 2) throw new InvalidDataException("Name field must specify the first two or more of the five values (Last name, first name, alt names, prefixes, and suffixes)"); @@ -83,7 +82,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ string[] _altNames = splitName.Length >= 3 ? Regex.Unescape(splitName[2]).Split(new char[] { VcardConstants._valueDelimiter }, StringSplitOptions.RemoveEmptyEntries) : []; string[] _prefixes = splitName.Length >= 4 ? Regex.Unescape(splitName[3]).Split(new char[] { VcardConstants._valueDelimiter }, StringSplitOptions.RemoveEmptyEntries) : []; string[] _suffixes = splitName.Length >= 5 ? Regex.Unescape(splitName[4]).Split(new char[] { VcardConstants._valueDelimiter }, StringSplitOptions.RemoveEmptyEntries) : []; - NameInfo _name = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _firstName, _lastName, _altNames, _prefixes, _suffixes); + NameInfo _name = new(altId, finalArgs, elementTypes, valueType, _firstName, _lastName, _altNames, _prefixes, _suffixes); return _name; } diff --git a/VisualCard/Parts/Implementations/NicknameInfo.cs b/VisualCard/Parts/Implementations/NicknameInfo.cs index 0d7e28e..1aca7b1 100644 --- a/VisualCard/Parts/Implementations/NicknameInfo.cs +++ b/VisualCard/Parts/Implementations/NicknameInfo.cs @@ -43,11 +43,9 @@ public class NicknameInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Populate the fields string _nick = Regex.Unescape(value); - NicknameInfo _nickInstance = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _nick); + NicknameInfo _nickInstance = new(altId, finalArgs, elementTypes, valueType, _nick); return _nickInstance; } diff --git a/VisualCard/Parts/Implementations/OrganizationInfo.cs b/VisualCard/Parts/Implementations/OrganizationInfo.cs index 05f2a60..e987dbc 100644 --- a/VisualCard/Parts/Implementations/OrganizationInfo.cs +++ b/VisualCard/Parts/Implementations/OrganizationInfo.cs @@ -54,14 +54,13 @@ public class OrganizationInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; string[] splitOrg = value.Split(VcardConstants._fieldDelimiter); // Populate the fields string _orgName = Regex.Unescape(splitOrg[0]); string _orgUnit = Regex.Unescape(splitOrg.Length >= 2 ? splitOrg[1] : ""); string _orgUnitRole = Regex.Unescape(splitOrg.Length >= 3 ? splitOrg[2] : ""); - OrganizationInfo _org = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _orgName, _orgUnit, _orgUnitRole); + OrganizationInfo _org = new(altId, finalArgs, elementTypes, valueType, _orgName, _orgUnit, _orgUnitRole); return _org; } diff --git a/VisualCard/Parts/Implementations/PhotoInfo.cs b/VisualCard/Parts/Implementations/PhotoInfo.cs index ca0b92f..732d75f 100644 --- a/VisualCard/Parts/Implementations/PhotoInfo.cs +++ b/VisualCard/Parts/Implementations/PhotoInfo.cs @@ -47,13 +47,11 @@ public class PhotoInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Check to see if the value is prepended by the ENCODING= argument string photoEncoding = VcardParserTools.GetValuesString(finalArgs, "BASE64", VcardConstants._encodingArgumentSpecifier); // Populate the fields - PhotoInfo _photo = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, photoEncoding, value); + PhotoInfo _photo = new(altId, finalArgs, elementTypes, valueType, photoEncoding, value); return _photo; } diff --git a/VisualCard/Parts/Implementations/RevisionInfo.cs b/VisualCard/Parts/Implementations/RevisionInfo.cs index cdcbadd..4371752 100644 --- a/VisualCard/Parts/Implementations/RevisionInfo.cs +++ b/VisualCard/Parts/Implementations/RevisionInfo.cs @@ -49,8 +49,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ DateTime rev = DateTime.Parse(revValue); // Add the fetched information - bool altIdSupported = cardVersion.Major >= 4; - RevisionInfo _time = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, rev); + RevisionInfo _time = new(altId, finalArgs, elementTypes, valueType, rev); return _time; } @@ -106,13 +105,10 @@ public override int GetHashCode() internal RevisionInfo() { } - internal RevisionInfo(int altId, string[] arguments, string[] elementTypes, string valueType, DateTime? birth) + internal RevisionInfo(int altId, string[] arguments, string[] elementTypes, string valueType, DateTime? rev) : + base(arguments, altId, elementTypes, valueType) { - AltId = altId; - Arguments = arguments; - ElementTypes = elementTypes; - ValueType = valueType; - Revision = birth; + Revision = rev; } } } diff --git a/VisualCard/Parts/Implementations/RoleInfo.cs b/VisualCard/Parts/Implementations/RoleInfo.cs index 70a2fa1..32060c9 100644 --- a/VisualCard/Parts/Implementations/RoleInfo.cs +++ b/VisualCard/Parts/Implementations/RoleInfo.cs @@ -43,11 +43,10 @@ public class RoleInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; string roleValue = Regex.Unescape(value); // Populate the fields - RoleInfo _role = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, roleValue); + RoleInfo _role = new(altId, finalArgs, elementTypes, valueType, roleValue); return _role; } diff --git a/VisualCard/Parts/Implementations/SoundInfo.cs b/VisualCard/Parts/Implementations/SoundInfo.cs index 60eba3d..ac0b8da 100644 --- a/VisualCard/Parts/Implementations/SoundInfo.cs +++ b/VisualCard/Parts/Implementations/SoundInfo.cs @@ -47,13 +47,11 @@ public class SoundInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Check to see if the value is prepended by the ENCODING= argument string soundEncoding = VcardParserTools.GetValuesString(finalArgs, "BASE64", VcardConstants._encodingArgumentSpecifier); // Populate the fields - SoundInfo _sound = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, soundEncoding, value); + SoundInfo _sound = new(altId, finalArgs, elementTypes, valueType, soundEncoding, value); return _sound; } diff --git a/VisualCard/Parts/Implementations/TelephoneInfo.cs b/VisualCard/Parts/Implementations/TelephoneInfo.cs index b34b82e..1d2a067 100644 --- a/VisualCard/Parts/Implementations/TelephoneInfo.cs +++ b/VisualCard/Parts/Implementations/TelephoneInfo.cs @@ -43,11 +43,9 @@ public class TelephoneInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Populate the fields string _telephoneNumber = Regex.Unescape(value); - TelephoneInfo _telephone = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _telephoneNumber); + TelephoneInfo _telephone = new(altId, finalArgs, elementTypes, valueType, _telephoneNumber); return _telephone; } diff --git a/VisualCard/Parts/Implementations/TimeDateZoneInfo.cs b/VisualCard/Parts/Implementations/TimeDateZoneInfo.cs index b4e9a71..d03c45c 100644 --- a/VisualCard/Parts/Implementations/TimeDateZoneInfo.cs +++ b/VisualCard/Parts/Implementations/TimeDateZoneInfo.cs @@ -43,13 +43,11 @@ public class TimeDateZoneInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; - // Get the types and the number string _tzStr = Regex.Unescape(value); // Add the fetched information - TimeDateZoneInfo _timeZone = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _tzStr); + TimeDateZoneInfo _timeZone = new(altId, finalArgs, elementTypes, valueType, _tzStr); return _timeZone; } diff --git a/VisualCard/Parts/Implementations/TitleInfo.cs b/VisualCard/Parts/Implementations/TitleInfo.cs index 963ca10..1451c89 100644 --- a/VisualCard/Parts/Implementations/TitleInfo.cs +++ b/VisualCard/Parts/Implementations/TitleInfo.cs @@ -43,9 +43,8 @@ public class TitleInfo : BaseCardPartInfo, IEquatable internal override BaseCardPartInfo FromStringVcardInternal(string value, string[] finalArgs, int altId, string[] elementTypes, string valueType, Version cardVersion) { - bool altIdSupported = cardVersion.Major >= 4; string _title = Regex.Unescape(value); - TitleInfo _titleInfo = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _title); + TitleInfo _titleInfo = new(altId, finalArgs, elementTypes, valueType, _title); return _titleInfo; } diff --git a/VisualCard/Parts/Implementations/XNameInfo.cs b/VisualCard/Parts/Implementations/XNameInfo.cs index 36be2a7..148c926 100644 --- a/VisualCard/Parts/Implementations/XNameInfo.cs +++ b/VisualCard/Parts/Implementations/XNameInfo.cs @@ -50,7 +50,6 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ { string xValue = value.Substring(VcardConstants._xSpecifier.Length); string[] splitX = xValue.Split(VcardConstants._argumentDelimiter); - bool altIdSupported = cardVersion.Major >= 4; // Populate the name string _xName = splitX[0].Contains(VcardConstants._fieldDelimiter.ToString()) ? @@ -59,7 +58,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ // Populate the fields string[] _xValues = splitX[1].Split(VcardConstants._fieldDelimiter); - XNameInfo _x = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, _xName, _xValues); + XNameInfo _x = new(altId, finalArgs, elementTypes, valueType, _xName, _xValues); return _x; } diff --git a/VisualCard/Parts/Implementations/XmlInfo.cs b/VisualCard/Parts/Implementations/XmlInfo.cs index f9f6932..788419e 100644 --- a/VisualCard/Parts/Implementations/XmlInfo.cs +++ b/VisualCard/Parts/Implementations/XmlInfo.cs @@ -60,8 +60,7 @@ internal override BaseCardPartInfo FromStringVcardInternal(string value, string[ doc.LoadXml(finalXml); // Add the fetched information - bool altIdSupported = cardVersion.Major >= 4; - XmlInfo _xml = new(altIdSupported ? altId : 0, finalArgs, elementTypes, valueType, doc, value); + XmlInfo _xml = new(altId, finalArgs, elementTypes, valueType, doc, value); return _xml; }