diff --git a/vCardEditor/Repository/ContactRepository.cs b/vCardEditor/Repository/ContactRepository.cs
index 222be87..9617cab 100644
--- a/vCardEditor/Repository/ContactRepository.cs
+++ b/vCardEditor/Repository/ContactRepository.cs
@@ -6,6 +6,7 @@ using Thought.vCards;
using VCFEditor.Model;
using System.ComponentModel;
using vCardEditor.Repository;
+using System.Collections.Generic;
namespace VCFEditor.Repository
{
@@ -190,39 +191,93 @@ namespace VCFEditor.Repository
vCard card = _contacts[index].card;
card.FormattedName = NewCard.FormattedName;
-
- //HomePhone
- if (card.Phones.GetFirstChoice(vCardPhoneTypes.Home) != null)
- card.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber = NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber;
- else
- {
- if (NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Home) != null
- && !string.IsNullOrEmpty(NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber))
- card.Phones.Add(new vCardPhone(NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber, vCardPhoneTypes.Home));
- }
-
-
- //Cellular
- if (card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) != null)
- card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber = NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber;
- else
- {
- if (NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) != null
- && !string.IsNullOrEmpty(NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber))
- card.Phones.Add(new vCardPhone(NewCard.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber, vCardPhoneTypes.Cellular));
- }
-
- if (card.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet) != null)
- card.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet).Address = NewCard.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet).Address;
- if (card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null)
- card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal).Url = NewCard.Websites.GetFirstChoice(vCardWebsiteTypes.Personal).Url;
-
+ SavePhone(NewCard, card);
+ SaveEmail(NewCard, card);
+ SaveWebUrl(NewCard, card);
_contacts[index].isDirty = false;
_dirty = false;
}
}
+
+ private void SaveWebUrl(vCard NewCard, vCard card)
+ {
+ var type = typeof(vCardWebsiteTypes);
+ var names = Enum.GetNames(type);
+
+ foreach (var name in names)
+ {
+ var urlType = (vCardWebsiteTypes)Enum.Parse(type, name);
+
+ if (NewCard.Websites.GetFirstChoice(urlType) != null)
+ {
+ if (card.Websites.GetFirstChoice(urlType) != null)
+ card.Websites.GetFirstChoice(urlType).Url = NewCard.Websites.GetFirstChoice(urlType).Url;
+ else
+ card.Websites.Add(new vCardWebsite(NewCard.Websites.GetFirstChoice(urlType).Url, urlType));
+ }
+ else
+ {
+ if (card.Websites.GetFirstChoice(urlType) != null)
+ card.Websites.GetFirstChoice(urlType).Url = string.Empty;
+
+ }
+ }
+ }
+
+ private void SavePhone(vCard NewCard, vCard card)
+ {
+ var type = typeof(vCardPhoneTypes);
+ var names = Enum.GetNames(type);
+
+ foreach (var name in names)
+ {
+ var phoneType = (vCardPhoneTypes)Enum.Parse(type, name);
+
+ if (NewCard.Phones.GetFirstChoice(phoneType) != null)
+ {
+ if (card.Phones.GetFirstChoice(phoneType) != null)
+ card.Phones.GetFirstChoice(phoneType).FullNumber = NewCard.Phones.GetFirstChoice(phoneType).FullNumber;
+ else
+ card.Phones.Add(new vCardPhone(NewCard.Phones.GetFirstChoice(phoneType).FullNumber, phoneType));
+ }
+ else
+ {
+ if (card.Phones.GetFirstChoice(phoneType) != null)
+ card.Phones.GetFirstChoice(phoneType).FullNumber = string.Empty;
+
+ }
+ }
+ }
+
+ private void SaveEmail(vCard NewCard, vCard card)
+ {
+ var type = typeof(vCardEmailAddressType);
+ var names = Enum.GetNames(type);
+
+ foreach (var name in names)
+ {
+ var emailType = (vCardEmailAddressType)Enum.Parse(type, name);
+
+ if (NewCard.EmailAddresses.GetFirstChoice(emailType) != null)
+ {
+ if (card.EmailAddresses.GetFirstChoice(emailType) != null)
+ card.EmailAddresses.GetFirstChoice(emailType).Address = NewCard.EmailAddresses.GetFirstChoice(emailType).Address;
+ else
+ card.EmailAddresses.Add(new vCardEmailAddress(NewCard.EmailAddresses.GetFirstChoice(emailType).Address,
+ emailType));
+ }
+ else
+ {
+ if (card.EmailAddresses.GetFirstChoice(emailType) != null)
+ card.EmailAddresses.GetFirstChoice(emailType).Address = string.Empty;
+
+ }
+ }
+
+ }
+
///
/// Generate a VCard class from a string.
///
diff --git a/vCardEditor/View/MainForm.Designer.cs b/vCardEditor/View/MainForm.Designer.cs
index 036b356..c9eb493 100644
--- a/vCardEditor/View/MainForm.Designer.cs
+++ b/vCardEditor/View/MainForm.Designer.cs
@@ -35,6 +35,7 @@
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.miOpen = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
+ this.miConfig = new System.Windows.Forms.ToolStripMenuItem();
this.recentFilesMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.miQuit = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -47,20 +48,15 @@
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tbsAbout = new System.Windows.Forms.ToolStripButton();
this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
- this.FormattedNameLabel = new System.Windows.Forms.Label();
this.HomePhoneLabel = new System.Windows.Forms.Label();
this.CellularPhoneLabel = new System.Windows.Forms.Label();
- this.PersonalWebSiteLabel = new System.Windows.Forms.Label();
this.WorkPhoneLabel = new System.Windows.Forms.Label();
this.gbContactDetail = new System.Windows.Forms.GroupBox();
- this.EmailAddressValue = new vCardEditor.View.StateTextBox();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
this.EmailAddressLabel = new System.Windows.Forms.Label();
- this.WorkPhoneValue = new vCardEditor.View.StateTextBox();
- this.PersonalWebSiteValue = new vCardEditor.View.StateTextBox();
+ this.PersonalWebSiteLabel = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
this.PhotoBox = new System.Windows.Forms.PictureBox();
- this.CellularPhoneValue = new vCardEditor.View.StateTextBox();
- this.HomePhoneValue = new vCardEditor.View.StateTextBox();
- this.FormattedNameValue = new vCardEditor.View.StateTextBox();
this.bsContacts = new System.Windows.Forms.BindingSource(this.components);
this.gbNameList = new System.Windows.Forms.GroupBox();
this.btnClearFilter = new System.Windows.Forms.Button();
@@ -68,14 +64,24 @@
this.dgContacts = new System.Windows.Forms.DataGridView();
this.Column1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.miConfig = new System.Windows.Forms.ToolStripMenuItem();
+ this.groupBox3 = new System.Windows.Forms.GroupBox();
+ this.FormattedNameLabel = new System.Windows.Forms.Label();
+ this.FormattedNameValue = new vCardEditor.View.StateTextBox();
+ this.EmailAddressValue = new vCardEditor.View.StateTextBox();
+ this.PersonalWebSiteValue = new vCardEditor.View.StateTextBox();
+ this.HomePhoneValue = new vCardEditor.View.StateTextBox();
+ this.WorkPhoneValue = new vCardEditor.View.StateTextBox();
+ this.CellularPhoneValue = new vCardEditor.View.StateTextBox();
this.menuStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.gbContactDetail.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.PhotoBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bsContacts)).BeginInit();
this.gbNameList.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgContacts)).BeginInit();
+ this.groupBox3.SuspendLayout();
this.SuspendLayout();
//
// menuStrip1
@@ -106,26 +112,33 @@
this.miOpen.Image = ((System.Drawing.Image)(resources.GetObject("miOpen.Image")));
this.miOpen.ImageTransparentColor = System.Drawing.Color.Fuchsia;
this.miOpen.Name = "miOpen";
- this.miOpen.Size = new System.Drawing.Size(152, 22);
+ this.miOpen.Size = new System.Drawing.Size(130, 22);
this.miOpen.Text = "&Open";
this.miOpen.Click += new System.EventHandler(this.tbsOpen_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
- this.toolStripMenuItem1.Size = new System.Drawing.Size(149, 6);
+ this.toolStripMenuItem1.Size = new System.Drawing.Size(127, 6);
+ //
+ // miConfig
+ //
+ this.miConfig.Name = "miConfig";
+ this.miConfig.Size = new System.Drawing.Size(130, 22);
+ this.miConfig.Text = "Preference";
+ this.miConfig.Click += new System.EventHandler(this.miConfig_Click);
//
// recentFilesMenuItem
//
this.recentFilesMenuItem.Name = "recentFilesMenuItem";
- this.recentFilesMenuItem.Size = new System.Drawing.Size(152, 22);
+ this.recentFilesMenuItem.Size = new System.Drawing.Size(130, 22);
this.recentFilesMenuItem.Text = "Recent";
//
// miQuit
//
this.miQuit.Image = ((System.Drawing.Image)(resources.GetObject("miQuit.Image")));
this.miQuit.Name = "miQuit";
- this.miQuit.Size = new System.Drawing.Size(152, 22);
+ this.miQuit.Size = new System.Drawing.Size(130, 22);
this.miQuit.Text = "&Quit";
this.miQuit.Click += new System.EventHandler(this.miQuit_Click);
//
@@ -218,18 +231,9 @@
this.openFileDialog.Filter = "vCard Files|*.vcf";
this.openFileDialog.Title = "Open vCard File";
//
- // FormattedNameLabel
- //
- this.FormattedNameLabel.Location = new System.Drawing.Point(15, 25);
- this.FormattedNameLabel.Name = "FormattedNameLabel";
- this.FormattedNameLabel.Size = new System.Drawing.Size(102, 19);
- this.FormattedNameLabel.TabIndex = 42;
- this.FormattedNameLabel.Text = "Name:";
- this.FormattedNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- //
// HomePhoneLabel
//
- this.HomePhoneLabel.Location = new System.Drawing.Point(34, 50);
+ this.HomePhoneLabel.Location = new System.Drawing.Point(25, 21);
this.HomePhoneLabel.Name = "HomePhoneLabel";
this.HomePhoneLabel.Size = new System.Drawing.Size(83, 19);
this.HomePhoneLabel.TabIndex = 43;
@@ -238,29 +242,20 @@
//
// CellularPhoneLabel
//
- this.CellularPhoneLabel.Location = new System.Drawing.Point(25, 75);
+ this.CellularPhoneLabel.Location = new System.Drawing.Point(16, 46);
this.CellularPhoneLabel.Name = "CellularPhoneLabel";
this.CellularPhoneLabel.Size = new System.Drawing.Size(92, 19);
this.CellularPhoneLabel.TabIndex = 46;
this.CellularPhoneLabel.Text = "Mobile:";
this.CellularPhoneLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
- // PersonalWebSiteLabel
- //
- this.PersonalWebSiteLabel.Location = new System.Drawing.Point(34, 150);
- this.PersonalWebSiteLabel.Name = "PersonalWebSiteLabel";
- this.PersonalWebSiteLabel.Size = new System.Drawing.Size(83, 19);
- this.PersonalWebSiteLabel.TabIndex = 54;
- this.PersonalWebSiteLabel.Text = "Personal Web Page:";
- this.PersonalWebSiteLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- //
// WorkPhoneLabel
//
- this.WorkPhoneLabel.Location = new System.Drawing.Point(25, 125);
+ this.WorkPhoneLabel.Location = new System.Drawing.Point(16, 75);
this.WorkPhoneLabel.Name = "WorkPhoneLabel";
this.WorkPhoneLabel.Size = new System.Drawing.Size(92, 19);
this.WorkPhoneLabel.TabIndex = 55;
- this.WorkPhoneLabel.Text = "Business Phone:";
+ this.WorkPhoneLabel.Text = "Work Phone:";
this.WorkPhoneLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// gbContactDetail
@@ -268,19 +263,10 @@
this.gbContactDetail.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.gbContactDetail.Controls.Add(this.EmailAddressValue);
- this.gbContactDetail.Controls.Add(this.EmailAddressLabel);
- this.gbContactDetail.Controls.Add(this.WorkPhoneValue);
- this.gbContactDetail.Controls.Add(this.PersonalWebSiteValue);
- this.gbContactDetail.Controls.Add(this.WorkPhoneLabel);
- this.gbContactDetail.Controls.Add(this.PersonalWebSiteLabel);
+ this.gbContactDetail.Controls.Add(this.groupBox3);
+ this.gbContactDetail.Controls.Add(this.groupBox2);
+ this.gbContactDetail.Controls.Add(this.groupBox1);
this.gbContactDetail.Controls.Add(this.PhotoBox);
- this.gbContactDetail.Controls.Add(this.CellularPhoneValue);
- this.gbContactDetail.Controls.Add(this.CellularPhoneLabel);
- this.gbContactDetail.Controls.Add(this.HomePhoneValue);
- this.gbContactDetail.Controls.Add(this.FormattedNameValue);
- this.gbContactDetail.Controls.Add(this.HomePhoneLabel);
- this.gbContactDetail.Controls.Add(this.FormattedNameLabel);
this.gbContactDetail.Enabled = false;
this.gbContactDetail.Location = new System.Drawing.Point(250, 52);
this.gbContactDetail.Name = "gbContactDetail";
@@ -289,47 +275,51 @@
this.gbContactDetail.TabStop = false;
this.gbContactDetail.Text = "Contact Detail :";
//
- // EmailAddressValue
+ // groupBox2
//
- this.EmailAddressValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.EmailAddressValue.Location = new System.Drawing.Point(123, 99);
- this.EmailAddressValue.Name = "EmailAddressValue";
- this.EmailAddressValue.Size = new System.Drawing.Size(272, 20);
- this.EmailAddressValue.TabIndex = 59;
- this.EmailAddressValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
- this.EmailAddressValue.Validated += new System.EventHandler(this.Value_TextChanged);
+ this.groupBox2.Controls.Add(this.EmailAddressLabel);
+ this.groupBox2.Controls.Add(this.EmailAddressValue);
+ this.groupBox2.Controls.Add(this.PersonalWebSiteLabel);
+ this.groupBox2.Controls.Add(this.PersonalWebSiteValue);
+ this.groupBox2.Location = new System.Drawing.Point(18, 191);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(377, 100);
+ this.groupBox2.TabIndex = 65;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "Web : ";
//
// EmailAddressLabel
//
- this.EmailAddressLabel.Location = new System.Drawing.Point(-7, 100);
+ this.EmailAddressLabel.Location = new System.Drawing.Point(-16, 29);
this.EmailAddressLabel.Name = "EmailAddressLabel";
this.EmailAddressLabel.Size = new System.Drawing.Size(124, 19);
- this.EmailAddressLabel.TabIndex = 58;
+ this.EmailAddressLabel.TabIndex = 63;
this.EmailAddressLabel.Text = "Email Address:";
this.EmailAddressLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
- // WorkPhoneValue
+ // PersonalWebSiteLabel
//
- this.WorkPhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.WorkPhoneValue.Location = new System.Drawing.Point(123, 124);
- this.WorkPhoneValue.Name = "WorkPhoneValue";
- this.WorkPhoneValue.Size = new System.Drawing.Size(272, 20);
- this.WorkPhoneValue.TabIndex = 57;
- this.WorkPhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
- this.WorkPhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
+ this.PersonalWebSiteLabel.Location = new System.Drawing.Point(25, 56);
+ this.PersonalWebSiteLabel.Name = "PersonalWebSiteLabel";
+ this.PersonalWebSiteLabel.Size = new System.Drawing.Size(83, 19);
+ this.PersonalWebSiteLabel.TabIndex = 61;
+ this.PersonalWebSiteLabel.Text = "Personal Web Page:";
+ this.PersonalWebSiteLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
- // PersonalWebSiteValue
+ // groupBox1
//
- this.PersonalWebSiteValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.PersonalWebSiteValue.Location = new System.Drawing.Point(123, 149);
- this.PersonalWebSiteValue.Name = "PersonalWebSiteValue";
- this.PersonalWebSiteValue.Size = new System.Drawing.Size(272, 20);
- this.PersonalWebSiteValue.TabIndex = 56;
- this.PersonalWebSiteValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
- this.PersonalWebSiteValue.Validated += new System.EventHandler(this.Value_TextChanged);
+ this.groupBox1.Controls.Add(this.WorkPhoneLabel);
+ this.groupBox1.Controls.Add(this.HomePhoneLabel);
+ this.groupBox1.Controls.Add(this.HomePhoneValue);
+ this.groupBox1.Controls.Add(this.WorkPhoneValue);
+ this.groupBox1.Controls.Add(this.CellularPhoneLabel);
+ this.groupBox1.Controls.Add(this.CellularPhoneValue);
+ this.groupBox1.Location = new System.Drawing.Point(18, 72);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(377, 113);
+ this.groupBox1.TabIndex = 60;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Phones : ";
//
// PhotoBox
//
@@ -337,44 +327,11 @@
this.PhotoBox.Image = ((System.Drawing.Image)(resources.GetObject("PhotoBox.Image")));
this.PhotoBox.Location = new System.Drawing.Point(412, 25);
this.PhotoBox.Name = "PhotoBox";
- this.PhotoBox.Size = new System.Drawing.Size(128, 144);
+ this.PhotoBox.Size = new System.Drawing.Size(128, 123);
this.PhotoBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.PhotoBox.TabIndex = 53;
this.PhotoBox.TabStop = false;
//
- // CellularPhoneValue
- //
- this.CellularPhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.CellularPhoneValue.Location = new System.Drawing.Point(123, 74);
- this.CellularPhoneValue.Name = "CellularPhoneValue";
- this.CellularPhoneValue.Size = new System.Drawing.Size(272, 20);
- this.CellularPhoneValue.TabIndex = 47;
- this.CellularPhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
- this.CellularPhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
- //
- // HomePhoneValue
- //
- this.HomePhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.HomePhoneValue.Location = new System.Drawing.Point(123, 49);
- this.HomePhoneValue.Name = "HomePhoneValue";
- this.HomePhoneValue.Size = new System.Drawing.Size(272, 20);
- this.HomePhoneValue.TabIndex = 45;
- this.HomePhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
- this.HomePhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
- //
- // FormattedNameValue
- //
- this.FormattedNameValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.FormattedNameValue.Location = new System.Drawing.Point(123, 24);
- this.FormattedNameValue.Name = "FormattedNameValue";
- this.FormattedNameValue.Size = new System.Drawing.Size(272, 20);
- this.FormattedNameValue.TabIndex = 44;
- this.FormattedNameValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
- this.FormattedNameValue.Validated += new System.EventHandler(this.Value_TextChanged);
- //
// gbNameList
//
this.gbNameList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -450,12 +407,91 @@
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
//
- // miConfig
+ // groupBox3
//
- this.miConfig.Name = "miConfig";
- this.miConfig.Size = new System.Drawing.Size(152, 22);
- this.miConfig.Text = "Preference";
- this.miConfig.Click += new System.EventHandler(this.miConfig_Click);
+ this.groupBox3.Controls.Add(this.FormattedNameValue);
+ this.groupBox3.Controls.Add(this.FormattedNameLabel);
+ this.groupBox3.Location = new System.Drawing.Point(18, 14);
+ this.groupBox3.Name = "groupBox3";
+ this.groupBox3.Size = new System.Drawing.Size(377, 52);
+ this.groupBox3.TabIndex = 66;
+ this.groupBox3.TabStop = false;
+ this.groupBox3.Text = "Name";
+ //
+ // FormattedNameLabel
+ //
+ this.FormattedNameLabel.Location = new System.Drawing.Point(6, 17);
+ this.FormattedNameLabel.Name = "FormattedNameLabel";
+ this.FormattedNameLabel.Size = new System.Drawing.Size(102, 19);
+ this.FormattedNameLabel.TabIndex = 45;
+ this.FormattedNameLabel.Text = "Name:";
+ this.FormattedNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // FormattedNameValue
+ //
+ this.FormattedNameValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.FormattedNameValue.Location = new System.Drawing.Point(114, 17);
+ this.FormattedNameValue.Name = "FormattedNameValue";
+ this.FormattedNameValue.oldText = null;
+ this.FormattedNameValue.Size = new System.Drawing.Size(225, 20);
+ this.FormattedNameValue.TabIndex = 46;
+ //
+ // EmailAddressValue
+ //
+ this.EmailAddressValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.EmailAddressValue.Location = new System.Drawing.Point(114, 28);
+ this.EmailAddressValue.Name = "EmailAddressValue";
+ this.EmailAddressValue.oldText = null;
+ this.EmailAddressValue.Size = new System.Drawing.Size(225, 20);
+ this.EmailAddressValue.TabIndex = 64;
+ //
+ // PersonalWebSiteValue
+ //
+ this.PersonalWebSiteValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.PersonalWebSiteValue.Location = new System.Drawing.Point(114, 54);
+ this.PersonalWebSiteValue.Name = "PersonalWebSiteValue";
+ this.PersonalWebSiteValue.oldText = null;
+ this.PersonalWebSiteValue.Size = new System.Drawing.Size(225, 20);
+ this.PersonalWebSiteValue.TabIndex = 62;
+ //
+ // HomePhoneValue
+ //
+ this.HomePhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.HomePhoneValue.Location = new System.Drawing.Point(114, 20);
+ this.HomePhoneValue.Name = "HomePhoneValue";
+ this.HomePhoneValue.oldText = null;
+ this.HomePhoneValue.Size = new System.Drawing.Size(225, 20);
+ this.HomePhoneValue.TabIndex = 45;
+ this.HomePhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
+ this.HomePhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
+ //
+ // WorkPhoneValue
+ //
+ this.WorkPhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.WorkPhoneValue.Location = new System.Drawing.Point(114, 74);
+ this.WorkPhoneValue.Name = "WorkPhoneValue";
+ this.WorkPhoneValue.oldText = null;
+ this.WorkPhoneValue.Size = new System.Drawing.Size(225, 20);
+ this.WorkPhoneValue.TabIndex = 57;
+ this.WorkPhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
+ this.WorkPhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
+ //
+ // CellularPhoneValue
+ //
+ this.CellularPhoneValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.CellularPhoneValue.Location = new System.Drawing.Point(114, 45);
+ this.CellularPhoneValue.Name = "CellularPhoneValue";
+ this.CellularPhoneValue.oldText = null;
+ this.CellularPhoneValue.Size = new System.Drawing.Size(225, 20);
+ this.CellularPhoneValue.TabIndex = 47;
+ this.CellularPhoneValue.LostFocus += new System.EventHandler(this.Value_TextChanged);
+ this.CellularPhoneValue.Validated += new System.EventHandler(this.Value_TextChanged);
//
// MainForm
//
@@ -480,12 +516,17 @@
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.gbContactDetail.ResumeLayout(false);
- this.gbContactDetail.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.PhotoBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bsContacts)).EndInit();
this.gbNameList.ResumeLayout(false);
this.gbNameList.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dgContacts)).EndInit();
+ this.groupBox3.ResumeLayout(false);
+ this.groupBox3.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@@ -509,18 +550,13 @@
private System.Windows.Forms.ToolStripButton tbsAbout;
private System.Windows.Forms.OpenFileDialog openFileDialog;
private System.Windows.Forms.BindingSource bsContacts;
- internal System.Windows.Forms.Label FormattedNameLabel;
internal System.Windows.Forms.Label HomePhoneLabel;
internal StateTextBox HomePhoneValue;
internal System.Windows.Forms.Label CellularPhoneLabel;
internal StateTextBox CellularPhoneValue;
- internal System.Windows.Forms.Label PersonalWebSiteLabel;
internal System.Windows.Forms.Label WorkPhoneLabel;
- internal StateTextBox PersonalWebSiteValue;
internal StateTextBox WorkPhoneValue;
private System.Windows.Forms.GroupBox gbContactDetail;
- internal StateTextBox EmailAddressValue;
- internal System.Windows.Forms.Label EmailAddressLabel;
private System.Windows.Forms.GroupBox gbNameList;
private System.Windows.Forms.TextBox textBoxFilter;
private System.Windows.Forms.DataGridView dgContacts;
@@ -529,7 +565,15 @@
private System.Windows.Forms.Button btnClearFilter;
internal System.Windows.Forms.PictureBox PhotoBox;
private System.Windows.Forms.ToolStripMenuItem recentFilesMenuItem;
- internal StateTextBox FormattedNameValue;
private System.Windows.Forms.ToolStripMenuItem miConfig;
+ private System.Windows.Forms.GroupBox groupBox2;
+ internal System.Windows.Forms.Label EmailAddressLabel;
+ internal StateTextBox EmailAddressValue;
+ internal System.Windows.Forms.Label PersonalWebSiteLabel;
+ internal StateTextBox PersonalWebSiteValue;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.GroupBox groupBox3;
+ internal StateTextBox FormattedNameValue;
+ internal System.Windows.Forms.Label FormattedNameLabel;
}
}
\ No newline at end of file
diff --git a/vCardEditor/View/MainForm.resx b/vCardEditor/View/MainForm.resx
index 6540b03..be9ea89 100644
--- a/vCardEditor/View/MainForm.resx
+++ b/vCardEditor/View/MainForm.resx
@@ -112,15 +112,15 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
17, 17
-
+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -139,16 +139,16 @@
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAH9SURBVDhPpZLdS1NhHMcfCMFuvOj9wrQ5S5a62TKdKSZpu5CVowbzjc1srZh6nDp3EF8YQ8XI
- G0EEQWqCaHgT1kCJ5aYDmQt1IAYhSN11lX/Ct9+ziXrmEQS/8DkP/J7n++FwnsPOnR+iFmfloCIN39ga
- NSDkfbKXcoHpOTTWEWoim7hBXDxVEHXfQ8h1H3+/iAh/6AieJjCMXgKbZCcl7912LDs1+DXyCP+C7zDR
- rAnSWCoYZzPxspwg4ipAQFDjp1eHP76XeFN0hR86Egyydl4cjg0mBMmsdWrwrTUf255i/PbZpIJeJvJD
- 3i0PXNEOOCOt6NsQ4Y0NQFh/C9ZFgrAzH4uOXMT6C7E72SgVUNmzOQD90mOU+otQtVQOQ0AP84oRQtSe
- EKy05cFvV2GjR4udMZPsGzSEzKgJVMMSroV9zRov98e6E4Jlx118fpWDiEuDCXc9ROsz2W/gXG9JFJIZ
- 6bJh3pKN1fY8zAkVaK4ukQqO3wIVKPxxCFu03cZsnQLfHSqsiqV4/eDySQH9B1VDafKCr01K+EwZ4KKA
- oIVDl3SNBwJ+jlZJOS7g+fg8fXvBooDfpkJbyVU+5WUVoSQyCC5JIeQFU8b0rE+1mfsLViU6y67xaSVR
- Tjwk7hCpRDyyAp7pFzeN83W30FNxnU/NxFNCwfeORyoA+w+MrWMTrGDAJwAAAABJRU5ErkJggg==
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAf1JREFUOE+l
+ kt1LU2Ecxx8IwW686P3CtDlLlrrZMp0pJmm7kJWjBvONzWytmHqcOncQXxhDxcgbQQRBaoJoeBPWQInl
+ pgOZC3UgBiFI3XWVf8K337OJeuYRBL/wOQ/8nuf74XCew86dH6IWZ+WgIg3f2Bo1IOR9spdygek5NNYR
+ aiKbuEFcPFUQdd9DyHUff7+ICH/oCJ4mMIxeAptkJyXv3XYsOzX4NfII/4LvMNGsCdJYKhhnM/GynCDi
+ KkBAUOOnV4c/vpd4U3SFHzoSDLJ2XhyODSYEyax1avCtNR/bnmL89tmkgl4m8kPeLQ9c0Q44I63o2xDh
+ jQ1AWH8L1kWCsDMfi45cxPoLsTvZKBVQ2bM5AP3SY5T6i1C1VA5DQA/zihFC1J4QrLTlwW9XYaNHi50x
+ k+wbNITMqAlUwxKuhX3NGi/3x7oTgmXHXXx+lYOIS4MJdz1E6zPZb+Bcb0kUkhnpsmHeko3V9jzMCRVo
+ ri6RCo7fAhUo/HEIW7TdxmydAt8dKqyKpXj94PJJAf0HVUNp8oKvTUr4TBngooCghUOXdI0HAn6OVkk5
+ LuD5+Dx9e8GigN+mQlvJVT7lZRWhJDIILkkh5AVTxvSsT7WZ+wtWJTrLrvFpJVFOPCTuEKlEPLICnukX
+ N43zdbfQU3GdT83EU0LB945HKgD7D4ytYxOsYMAnAAAAAElFTkSuQmCC
@@ -166,10 +166,10 @@
E9ew//AVxE8OItv/9O/Cf0ck8gud2vKswuxNZgAAAABJRU5ErkJggg==
-
+
132, 17
-
+
248, 17
@@ -238,60 +238,60 @@
E9ew//AVxE8OItv/9O/Cf0ck8gud2vKswuxNZgAAAABJRU5ErkJggg==
-
+
353, 17
- iVBORw0KGgoAAAANSUhEUgAAAGYAAABmCAMAAAAOARRQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAACHUExURf///y4uLi8vLykpKUBAQEVFRUtLS0REREpKSj09PUFBQd/f3ygoKDk5OU5OTiAgIAAA
- ADQ0NBwcHBkZGff39+zs7BMTE9nZ2QkJCWlpaebm5qenp/Pz88LCws/Pz4eHh3h4eFhYWJKSkp+fn8XF
- xWdnZ6+vr3BwcH5+frm5uY2NjV5eXqGhob8kg48AAARnSURBVGhD7ZiLkqI6EEAHoqNAmPAGdXzg23H/
- //u2u9OiIM4Okq3aW9dTNVVj0vQh5EHI24sXL178T/nMZ8dyOCyP+zzhIvOk85WrIkKNjttPLjbMaSdj
- JYQFCKFi67DlCpMkK6VQYRPwj1RyyXXm8MpCkCIkyCSC85SrDeGVMUq0Q4Oi7JBygBGSHVgwt19BJis+
- cIQRVgW1xPedChLZVrHmEAPMC5JA8oHLDNCEnmDBQb1JS6lbMnBHoyExGqEIW6TOpibqXtloAQkIxgSa
- QAQeW5w4rCfpRJFFS94JEmmPWplZDrbxxUKOD4BM7LGFmd5ZgwaemG4KShDdIPSE2S8O7EUyFrpfbiQI
- ekYujANZmhgEXgGNubdUHugdE0vBqeBHdqfR3eP7RqbOV0T9f9sxGuqeEfRONuPQPhykw8+sVQO9o44c
- 2ofSujyzOw0ParHj0D6Mw+ucaQIaeGpWyaF9GJDmMv1r4NQBjf3BoX1wQ+waXMs4+ZWLxkRrPvihtaI1
- Zw7tw9n+XuM61oRD+3AQ9NBaPfg+GDhGdjhrxW+aVvCtE+85tA/z7I8aE4uNR6154MGXtW+ZWDo/h+Hg
- YXPAMrDN7AaWEjWtHtp5qA0H9mMrHPK0AY3xQzMv6ekZJqjb6sH9mj0xtMHdwBpd7QPrDEBj4m2DLFx4
- sbWJoNDxxx6H9eZLwI6zFXinmRkASOqH7R7HCUcGP0L38QONrwxtbQn4IsTPgQZQpJZGv6jTiXXngQJh
- aP9ckZ9hGDSRE2Oj7IL3gc+thjL9hYtMDzGMtythfDT6fVtxKi2LPg1h32xZ5zkXGyedHcaWBOz31f4v
- naUQn/l8ttnMtvnflLz45/C+nYXbWf+lIJnOV34w4F9tJHYQhMtFr5m6WLpZpmTwzWr/KxBSZXE5e3rh
- Sb9CcEgplPMwx8KSApBRvHtyg5NOMkoBxIcH0zE9RxwiI/s5zzG4WIQs2l9f6argCCDKnhkL86sFPa3H
- c8fiJkZkz3y1jRVdq8+D0XP33JIlWjCAQsDTfcu2j/FCnYM82a7xTPJzXFkAiFFl1+GWTKBvOQGC9yo3
- 06qHkuk6whvhagRvpWtzFo6+Uzx6xsNtutlsuJ7naZKk+Xw9omF4iaCYb0bkI2YZ3eg1B3rwyP59cjjs
- xgKP8Wsa8kiR8/U/IznGtxp9r4CUSkWRUjzAbiIwRoii2+7QG6haispzSz2CYjoefy9i2UgCPxsiLOFK
- An8rq9Mu9FRAFr5cg0luPfT7LkQEnYb0umjm0J5KpH9xFYPV3U4KYUVsZqG8CCsArrmARUGnmePgCHig
- ucI1DBVlXU4KE9UcAQjluYGLK7As7nJMlAaoqSeiggZcReiSqMsq7QW6AziDhkpqcAVDReqdU/yEPOBp
- QZd2Qbmc4icsuDWdgW0Dp/gJT2ss9d1mq8k2wM8L2NPAmqv/HnCpwkgi6vLQtsHNJLyi6nBpDdXlsDjJ
- vTbyOlxa5+ld4YsXL178Z3h7+w1PM1gbWuVRlwAAAABJRU5ErkJggg==
+ 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
+ XvxneHv7DU8zWBta5VGXAAAAAElFTkSuQmCC
-
+
486, 17
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAJ4SURBVDhPbZNfSFNxFMdPrdYf18TKNEEo//XUTEqb9kcC
- NXqTRASH5Z9AVvjQpkv7Y2qUZOq0qHSrUFrDxiJS6GEg6EPP5SDouYcC96DTuT8O+XbO3TWSduDDOfd7
- zvdw7+/eS//GGNFpB9GEZFX6G6yfYEZeER1Tpa0xTtQ6oUvBj24bJMu12hJz/4f8HPgtN/7rKbFpXhwf
- xsb8DALOEbgzD0GMgjf3CCIzbmzMTSPgsG9dophT9mLxWT/iHifWXw8h/t6BsOcNvHk5CuEpJ+Lul1h3
- Digzi6P9EI+TqE6ee+G3pRWx4R7E7L2IDXYjNnSfF41i7e2YgtSiKT2Z4fqn+arcxTyNErV5M9Kx0m5G
- tNuKaK8tQd8tRB90JZBatJ4OnrEos+KxE12Rp9g1SPTcm34AK+ZGRKzXEbG1Jcdqxi9TDWRWPOzVyoJt
- zJ4nRC/c+3QI1NcibG5JSsBUiwmtFn1EXeJRvewkMvI612xRIcI2C0KNDQg11G+FtXBnO2YNx8Hz/HJU
- s3w0fBiT3+tqEbl3B2vXWrBaXZ0U6UXu3sbsqZNygJPKByeF31iKUFMTVi/XYKXyYoKKKqZShWtVD9Wb
- eLYZ/rIzyhI5CddCbgGCxnMIlp5HsKyc4Ww8i4XcPAWpFU16MsPXc4ez8JSogx4SlQ8RffySkYVlQzGW
- C0s4l+Bb9lE8IvosSC1aolcMX9pBsMdVQZQqx6Ax8Q8yQDTl06dhKd+Ar5nZeEw0bSW6JEgt2lKBAT79
- fvCsm316ZrsskNAwqdJ4t2Mn+JV+6iSqUnWN1KJ5tLuTmjdDhJRmoiLOMiDmzZBaf5PoAmcdo5qJ/gBC
- SbPSrCTkJAAAAABJRU5ErkJggg==
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAnhJREFUOE9tk19IU3EUx0+t1h/XxMo0QSj/9dRMSpv2RwI1epNEBIfln0BW+NCm
+ S/tjapRk6rSodKtQWsPGIlLoYSDoQ8/lIOi5hwL3oNO5Pw75ds7dNZJ24MM593vO93Dv795L/8YY0WkH
+ 0YRkVfobrJ9gRl4RHVOlrTFO1DqhS8GPbhsky7XaEnP/h/wc+C03/uspsWleHB/GxvwMAs4RuDMPQYyC
+ N/cIIjNubMxNI+Cwb12imFP2YvFZP+IeJ9ZfDyH+3oGw5w28eTkK4Skn4u6XWHcOKDOLo/0Qj5OoTp57
+ 4belFbHhHsTsvYgNdiM2dJ8XjWLt7ZiC1KIpPZnh+qf5qtzFPI0StXkz0rHSbka024pory1B3y1EH3Ql
+ kFq0ng6esSiz4rETXZGn2DVI9NybfgAr5kZErNcRsbUlx2rGL1MNZFY87NXKgm3MnidEL9z7dAjU1yJs
+ bklKwFSLCa0WfURd4lG97CQy8jrXbFEhwjYLQo0NCDXUb4W1cGc7Zg3HwfP8clSzfDR8GJPf62oRuXcH
+ a9dasFpdnRTpRe7exuypk3KAk8oHJ4XfWIpQUxNWL9dgpfJigooqplKFa1UP1Zt4thn+sjPKEjkJ10Ju
+ AYLGcwiWnkewrJzhbDyLhdw8BakVTXoyw9dzh7PwlKiDHhKVDxF9/JKRhWVDMZYLSziX4Fv2UTwi+ixI
+ LVqiVwxf2kGwx1VBlCrHoDHxDzJANOXTp2Ep34Cvmdl4TDRtJbokSC3aUoEBPv1+8KybfXpmuyyQ0DCp
+ 0ni3Yyf4lX7qJKpSdY3Uonm0u5OaN0OElGaiIs4yIObNkFp/k+gCZx2jmon+AEJJs9KsJOQkAAAAAElF
+ TkSuQmCC
-
+
True
-
+
True
diff --git a/vCardEditor_Test/ContactRepositoryTest.cs b/vCardEditor_Test/ContactRepositoryTest.cs
index 83ae1a8..094e4a5 100644
--- a/vCardEditor_Test/ContactRepositoryTest.cs
+++ b/vCardEditor_Test/ContactRepositoryTest.cs
@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Thought.vCards;
using vCardEditor.Repository;
using VCFEditor.Repository;
@@ -22,5 +23,92 @@ namespace vCardEditor_Test
Assert.AreEqual(repo.LoadContacts("name")[0].Name, "Oum Alaâ");
}
+
+ [TestMethod]
+ public void NewFileOpened_SaveDirtyCellPhone_NotNullWithNotNull_Test()
+ {
+ var fileHandler = Substitute.For();
+ fileHandler.ReadAllLines(Arg.Any()).Returns(Entries.vcfFourEntry);
+
+ var repo = Substitute.For(fileHandler);
+ repo.LoadContacts("name");
+ repo.Contacts[0].isDirty=true;
+
+ string phone = "0011223344";
+ var newCard = new vCard();
+ newCard.Phones.Add(new vCardPhone(phone, vCardPhoneTypes.Cellular));
+
+ repo.SaveDirtyVCard(0, newCard);
+
+
+ var card = repo.Contacts[0].card;
+ Assert.AreEqual(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber, phone);
+ }
+
+ [TestMethod]
+ public void NewFileOpened_SaveDirtyCellPhone_NotNullWithNull_Test()
+ {
+ var fileHandler = Substitute.For();
+ fileHandler.ReadAllLines(Arg.Any()).Returns(Entries.vcfFourEntry);
+
+ var repo = Substitute.For(fileHandler);
+ repo.LoadContacts("name");
+ repo.Contacts[0].isDirty = true;
+
+ repo.SaveDirtyVCard(0, new vCard());
+
+
+ var card = repo.Contacts[0].card;
+ Assert.AreEqual(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber, string.Empty);
+ }
+
+ [TestMethod]
+ public void NewFileOpened_SaveDirtyCellPhone_NullWithNotNull_Test()
+ {
+ var fileHandler = Substitute.For();
+ fileHandler.ReadAllLines(Arg.Any()).Returns(Entries.vcfFourEntry);
+ var repo = Substitute.For(fileHandler);
+ repo.LoadContacts("name");
+ repo.Contacts[2].isDirty = true;
+
+ string phone = "0011223344";
+ var newCard = new vCard();
+ newCard.Phones.Add(new vCardPhone(phone, vCardPhoneTypes.Cellular));
+ repo.SaveDirtyVCard(2, newCard);
+
+ var card = repo.Contacts[2].card;
+ Assert.AreEqual(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber, phone);
+ }
+
+ [TestMethod]
+ public void NewFileOpened_SaveDirtyCellPhone_NullWithNull_Test()
+ {
+ var fileHandler = Substitute.For();
+ fileHandler.ReadAllLines(Arg.Any()).Returns(Entries.vcfFourEntry);
+ var repo = Substitute.For(fileHandler);
+ repo.LoadContacts("name");
+ repo.Contacts[3].isDirty = true;
+
+ repo.SaveDirtyVCard(3, new vCard());
+
+ var card = repo.Contacts[2].card;
+ Assert.IsNull(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular));
+ }
+
+
+ [TestMethod]
+ public void NewFileOpened_v21_Test()
+ {
+ var fileHandler = Substitute.For();
+ fileHandler.ReadAllLines(Arg.Any()).Returns(Entries.vcfWikiv21);
+ var repo = Substitute.For(fileHandler);
+ repo.LoadContacts("name");
+ repo.Contacts[0].isDirty = true;
+
+ repo.SaveDirtyVCard(0, new vCard());
+
+ //var card = repo.Contacts[2].card;
+ //Assert.IsNull(card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular));
+ }
}
}
diff --git a/vCardEditor_Test/Entries.cs b/vCardEditor_Test/Entries.cs
index 47d33b7..d95b3a7 100644
--- a/vCardEditor_Test/Entries.cs
+++ b/vCardEditor_Test/Entries.cs
@@ -39,7 +39,7 @@ namespace vCardEditor_Test
"END:VCARD\n" +
"BEGIN:VCARD\n" +
"VERSION:2.1\n" +
- "FN:Jean Dupont1\n" +
+ "FN:Jean Dupont2\n" +
"N:Dupont;Jean\n" +
"ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
"TEL;CELL:+1234 56789\n" +
@@ -56,6 +56,43 @@ namespace vCardEditor_Test
return s.Split('\n');
}
}
+ public static string[] vcfFourEntry
+ {
+ get
+ {
+ string s = "BEGIN:VCARD\n" +
+ "VERSION:2.1\n" +
+ "FN:Jean Dupont1\n" +
+ "N:Dupont;Jean1\n" +
+ "ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
+ "TEL;CELL:+1234 56789\n" +
+ "EMAIL;INTERNET:jean.dupont@example.com\n" +
+ "END:VCARD\n" +
+ "BEGIN:VCARD\n" +
+ "VERSION:2.1\n" +
+ "FN:Jean Dupont2\n" +
+ "N:Dupont;Jean\n" +
+ "ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
+ "TEL;CELL:+1234 56789\n" +
+ "EMAIL;INTERNET:jean.dupont@example.com\n" +
+ "END:VCARD\n" +
+ "BEGIN:VCARD\n" +
+ "VERSION:2.1\n" +
+ "FN:Jean Dupont3\n" +
+ "N:Dupont;Jean\n" +
+ "ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
+ "EMAIL;INTERNET:jean.dupont@example.com\n" +
+ "END:VCARD\n" +
+ "BEGIN:VCARD\n" +
+ "VERSION:2.1\n" +
+ "FN:Jean Dupont4\n" +
+ "N:Dupont;Jean\n" +
+ "ADR;WORK;PREF;QUOTED-PRINTABLE:;Bruxelles 1200=Belgique;6A Rue Th. Decuyper\n" +
+ "EMAIL;INTERNET:jean.dupont@example.com\n" +
+ "END:VCARD";
+ return s.Split('\n');
+ }
+ }
public static string[] vcfUtf8Entry
{
get
@@ -68,5 +105,31 @@ namespace vCardEditor_Test
return s.Split('\n');
}
}
+
+ public static string[] vcfWikiv21
+ {
+ get
+ {
+ string s = "BEGIN:VCARD" +
+ "VERSION:2.1\n" +
+ "N:Gump;Forrest;;Mr.\n" +
+ "FN:Forrest Gump\n" +
+ "ORG:Bubba Gump Shrimp Co.\n" +
+ "TITLE:Shrimp Man\n" +
+ "PHOTO;GIF:http://www.example.com/dir_photos/my_photo.gif\n" +
+ "TEL;WORK;VOICE:(111) 555-1212\n" +
+ "TEL;HOME;VOICE:(404) 555-1212\n" +
+ "ADR;WORK;PREF:;;100 Waters Edge;Baytown;LA;30314;United States of America\n" +
+ "LABEL;WORK;PREF;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:100 Waters Edge=0D=\n" +
+ " =0ABaytown\\, LA 30314=0D=0AUnited States of America\n" +
+ "ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America\n" +
+ "LABEL;HOME;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:42 Plantation St.=0D=0A=\n" +
+ " Baytown, LA 30314=0D=0AUnited States of America\n" +
+ "EMAIL:forrestgump@example.com\n" +
+ "REV:20080424T195243Z\n" +
+ "END:VCARD";
+ return s.Split('\n');
+ }
+ }
}
}