public IEnumerable <FieldDTO> GetSalesforceObjectTypes(SalesforceObjectOperations filterByOperations = SalesforceObjectOperations.None, SalesforceObjectProperties filterByProperties = SalesforceObjectProperties.None) { var salesforceTypes = Enum.GetValues(typeof(SalesforceObjectType)); foreach (var salesforceType in salesforceTypes) { var sourceValues = salesforceType.GetType().GetField(salesforceType.ToString()).GetCustomAttributes <SalesforceObjectDescriptionAttribute>().FirstOrDefault(); if (sourceValues.AvailableProperties.HasFlag(filterByProperties) && sourceValues.AvailableOperations.HasFlag(filterByOperations)) { yield return(new FieldDTO(salesforceType.ToString())); } } }
public SalesforceObjectDescriptionAttribute(SalesforceObjectOperations availableOperations, SalesforceObjectProperties availableProperties) { AvailableOperations = availableOperations; AvailableProperties = availableProperties; }