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); }
public static IsA New(IFaceted faceted) { return(new IsA(faceted)); }