Skip to content

Commit

Permalink
imp - brk|doc - Condensed parsers
Browse files Browse the repository at this point in the history
---

We've condensed all the vCard parsers so that BaseVcardParser handles all the cases (vCard 2.1, 3.0, 4.0, and 5.0). This is necessary to make Card instances more secure.

This is a breaking change involving the card parsers. The only thing remaining is to get rid of an extra step to get all the cards. This way, we would have internalized the card parsers, which were initially reserved for internal use, and we would have made it one-step to getting an array of Cards.

---

Type: imp
Breaking: True
Doc Required: True
Part: 1/1
  • Loading branch information
AptiviCEO committed Mar 28, 2024
1 parent f617062 commit 15d2bdd
Show file tree
Hide file tree
Showing 54 changed files with 4,843 additions and 7,149 deletions.
33 changes: 17 additions & 16 deletions VisualCard.ShowContacts/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@
//

using System.Diagnostics;
using Terminaux.Colors;
using Terminaux.Colors.Data;
using Terminaux.Writer.ConsoleWriters;
using VisualCard.Converters;
using VisualCard.Parsers;
using VisualCard.Parts;
using VisualCard.Parts.Enums;
using VisualCard.Parts.Implementations;

namespace VisualCard.ShowContacts
{
Expand Down Expand Up @@ -82,15 +83,15 @@ static void Main(string[] args)
}

// Show contact information
bool showVcard5Disclaimer = Contacts.Any((card) => card.CardVersion == "5.0");
bool showVcard5Disclaimer = Contacts.Any((card) => card.CardVersion.ToString(2) == "5.0");
foreach (Card Contact in Contacts)
{
TextWriterColor.WriteColor("----------------------------", ConsoleColors.Green);
TextWriterColor.WriteColor("Name: {0}", ConsoleColors.Green, Contact.ContactFullName);
TextWriterColor.WriteColor("Revision: {0}", ConsoleColors.Green, Contact.CardRevision);
TextWriterColor.WriteColor("Name: {0}", ConsoleColors.Green, Contact.GetString(StringsEnum.FullName));
TextWriterColor.WriteColor("Revision: {0}", ConsoleColors.Green, Contact.GetPart(PartsEnum.Revision));

// List names
foreach (NameInfo name in Contact.ContactNames)
foreach (NameInfo name in Contact.GetPartsArray(PartsArrayEnum.Names))
{
TextWriterColor.Write("First name: {0}", name.ContactFirstName);
TextWriterColor.Write("Last name: {0}", name.ContactLastName);
Expand All @@ -100,7 +101,7 @@ static void Main(string[] args)
}

// List titles
foreach (TitleInfo title in Contact.ContactTitles)
foreach (TitleInfo title in Contact.GetPartsArray(PartsArrayEnum.Titles))
{
TextWriterColor.Write("Title or Job: {0}", title.ContactTitle);
TextWriterColor.Write("ALTID: {0}", title.AltId);
Expand All @@ -109,7 +110,7 @@ static void Main(string[] args)
}

// List addresses
foreach (AddressInfo Address in Contact.ContactAddresses)
foreach (AddressInfo Address in Contact.GetPartsArray(PartsArrayEnum.Addresses))
{
TextWriterColor.Write("P.O. Box: {0}", Address.PostOfficeBox);
TextWriterColor.Write("Extended Address: {0}", Address.ExtendedAddress);
Expand All @@ -121,29 +122,29 @@ static void Main(string[] args)
}

// List e-mails
foreach (EmailInfo Email in Contact.ContactMails)
foreach (EmailInfo Email in Contact.GetPartsArray(PartsArrayEnum.Mails))
{
TextWriterColor.Write("Email types: {0}", Email.ContactEmailTypes);
TextWriterColor.Write("Email address: {0}", Email.ContactEmailAddress);
}

// List organizations
foreach (OrganizationInfo Organization in Contact.ContactOrganizations)
foreach (OrganizationInfo Organization in Contact.GetPartsArray(PartsArrayEnum.Organizations))
{
TextWriterColor.Write("Organization Name: {0}", Organization.Name);
TextWriterColor.Write("Organization Unit: {0}", Organization.Unit);
TextWriterColor.Write("Organization Unit Role: {0}", Organization.Role);
}

// List telephones
foreach (TelephoneInfo Telephone in Contact.ContactTelephones)
foreach (TelephoneInfo Telephone in Contact.GetPartsArray(PartsArrayEnum.Telephones))
{
TextWriterColor.Write("Phone types: {0}", Telephone.ContactPhoneTypes);
TextWriterColor.Write("Phone number: {0}", Telephone.ContactPhoneNumber);
}

// List photos
foreach (PhotoInfo Photo in Contact.ContactPhotos)
foreach (PhotoInfo Photo in Contact.GetPartsArray(PartsArrayEnum.Photos))
{
TextWriterColor.Write("Photo encoding: {0}", Photo.Encoding);
TextWriterColor.Write("Photo type: {0}", Photo.PhotoType);
Expand All @@ -155,7 +156,7 @@ static void Main(string[] args)
}

// List roles
foreach (RoleInfo Role in Contact.ContactRoles)
foreach (RoleInfo Role in Contact.GetPartsArray(PartsArrayEnum.Roles))
{
TextWriterColor.Write("Role: {0}", Role.ContactRole);
TextWriterColor.Write("ALTID: {0}", Role.AltId);
Expand All @@ -164,10 +165,10 @@ static void Main(string[] args)
}

// List remaining
TextWriterColor.Write("Contact birthdate: {0}", Contact.ContactBirthdate);
TextWriterColor.Write("Contact mailer: {0}", Contact.ContactMailer);
TextWriterColor.Write("Contact URL: {0}", Contact.ContactURL);
TextWriterColor.Write("Contact Note: {0}", Contact.ContactNotes);
TextWriterColor.Write("Contact birthdate: {0}", Contact.GetPart(PartsEnum.Birthdate));
TextWriterColor.Write("Contact mailer: {0}", Contact.GetString(StringsEnum.Mailer));
TextWriterColor.Write("Contact URL: {0}", Contact.GetString(StringsEnum.Url));
TextWriterColor.Write("Contact Note: {0}", Contact.GetString(StringsEnum.Notes));

// Print VCard
string raw = Contact.SaveToString();
Expand Down
Loading

0 comments on commit 15d2bdd

Please sign in to comment.