/// <summary> /// Writes out a contact, /// </summary> /// <param name="actor"></param> /// <param name="helper"></param> public ContactType(IIfcActorSelect actor, CoBieLiteHelper helper) : this() { var personAndOrganization = actor as IIfcPersonAndOrganization; var person = actor as IIfcPerson; var organisation = actor as IIfcOrganization; if (personAndOrganization != null) { ConvertOrganisation(personAndOrganization.TheOrganization, helper); ConvertPerson(personAndOrganization.ThePerson, helper); } else if (person != null) { ConvertPerson(person, helper); } else if (organisation != null) { ConvertOrganisation(organisation, helper); } ////Attributes //AttributeType[] ifcAttributes = helper.GetAttributes(actor); //if (ifcAttributes != null && ifcAttributes.Length > 0) // ContactAttributes = new AttributeCollectionType { Attribute = ifcAttributes }; }
public static string EmailAddressOf(IIfcActorSelect personOrg) { IIfcPerson person = null; IIfcOrganization organisation = null; if (personOrg is IIfcPerson) { person = personOrg as IIfcPerson; } if (personOrg is IIfcOrganization) { organisation = personOrg as IIfcOrganization; } if (personOrg is IIfcPersonAndOrganization) { person = (personOrg as IIfcPersonAndOrganization).ThePerson; organisation = (personOrg as IIfcPersonAndOrganization).TheOrganization; } string email; string phone; // not used // priority goes to person if (person != null) { GetTelecom(person.Addresses, out email, out phone); if (email != null) { return(email); } } if (organisation != null) { GetTelecom(organisation.Addresses, out email, out phone); if (email != null) { return(email); } } return(DefaultUniqueEmail(personOrg)); }
protected override Contact Mapping(IIfcActorSelect actor, Contact target) { var helper = ((IfcToCOBieLiteUkExchanger)Exchanger).Helper; var personAndOrganization = actor as IIfcPersonAndOrganization; var person = actor as IIfcPerson; var organisation = actor as IIfcOrganization; if (personAndOrganization != null) { ConvertOrganisation(target, personAndOrganization.TheOrganization); ConvertPerson(target, personAndOrganization.ThePerson); } else if (person != null) { ConvertPerson(target, person); } else if (organisation != null) { ConvertOrganisation(target, organisation); } if (string.IsNullOrWhiteSpace(target.Email)) { target.Email = string.Format("unknown{0}@undefined.email", ((IPersistEntity)actor).EntityLabel); } target.CreatedBy = helper.GetCreatedBy(actor, true); target.CreatedOn = helper.GetCreatedOn(actor); if (target.Categories == null || !target.Categories.Any()) { target.Categories = CoBieLiteUkHelper.UnknownCategory; } ////Attributes //AttributeType[] ifcAttributes = helper.GetAttributes(actor); //if (ifcAttributes != null && ifcAttributes.Length > 0) // ContactAttributes = new AttributeCollectionType { Attribute = ifcAttributes }; //Documents no link available IfcActorSelect not inherited from IfcRoot return(target); }
public static string DefaultUniqueEmail(IIfcActorSelect actor) { return(string.Format("unknown{0}@undefined.email", actor.EntityLabel)); }