Exemplo n.º 1
0
		public void RemoveWife(GedcomIndividualRecord indi)
		{
			GedcomFamilyLink link;
			
			if (_Wife == indi.XRefID)
			{
				_Wife = string.Empty;	
			}
			
			if (indi.SpouseInFamily(XRefID, out link))
			{
				indi.SpouseIn.Remove(link);
			}
		}
Exemplo n.º 2
0
		public void ChangeWife(GedcomIndividualRecord indi)
		{
			GedcomIndividualRecord husband = null; 
			GedcomIndividualRecord wife = null;
			
			if (!string.IsNullOrEmpty(_Husband))
			{
				husband = _database[_Husband] as GedcomIndividualRecord;
			}
			if (!string.IsNullOrEmpty(_Wife))
			{
				wife = _database[_Wife] as GedcomIndividualRecord;
			}
			
			if (string.IsNullOrEmpty(XRefID))
			{
				XRefID = _database.GenerateXref("FAM");
				_database.Add(XRefID,this);
			}
			
			if (wife != null)
			{
				GedcomFamilyLink link;
				if (wife.SpouseInFamily(XRefID,out link))
				{
					wife.SpouseIn.Remove(link);	
				}
			}
			
			wife = indi;
			_Wife = string.Empty;
			
			if (husband != null)
			{
				_Husband = husband.XRefID;
				
				if (!husband.SpouseInFamily(XRefID))
				{						
					GedcomFamilyLink link = new GedcomFamilyLink();
					link.Database = _database;
					link.Family = XRefID;
					link.Indi = _Husband;
					husband.SpouseIn.Add(link);
				}	
			}
			
			if (wife != null)
			{
				_Wife = wife.XRefID;
				
				if (!wife.SpouseInFamily(XRefID))
				{						
					GedcomFamilyLink link = new GedcomFamilyLink();
					link.Database = _database;
					link.Family = XRefID;
					link.Indi = _Wife;
					wife.SpouseIn.Add(link);
				}	
			}	
		}