예제 #1
0
파일: IsA.cs 프로젝트: Piirtaa/Decoratid
        public IsA(IFaceted faceted, params Type[] isATypes)
        {
            Condition.Requires(faceted).IsNotNull();
            this.Faceted  = faceted;
            this.IsATypes = isATypes;

            //validate the object supports these types
            isATypes.WithEach(x =>
            {
                var face = faceted.GetFace(x);
                Condition.Requires(face).IsNotNull();
            });
        }
        protected virtual Dictionary <string, IAddress> GetContactAddresses(IFaceted contact)
        {
            var dictionary = new Dictionary <string, IAddress>();
            var facet      = contact.Facets.FirstOrDefault(kvp => kvp.Value is IContactAddresses).Value;

            if (facet != null)
            {
                var contactAddresses = (IContactAddresses)facet;
                foreach (var key in contactAddresses.Entries.Keys)
                {
                    dictionary.Add(key, contactAddresses.Entries[key]);
                }
            }

            return(dictionary);
        }
예제 #3
0
파일: IsA.cs 프로젝트: Piirtaa/Decoratid
 public static IsA New(IFaceted faceted)
 {
     return(new IsA(faceted));
 }