Пример #1
0
        /// <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 };
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }
Пример #4
0
 public static string DefaultUniqueEmail(IIfcActorSelect actor)
 {
     return(string.Format("unknown{0}@undefined.email", actor.EntityLabel));
 }