Ejemplo n.º 1
0
        private static void AddActionsByType(Dictionary <DataSourceId, List <DataActionSourceId> > result, string providerName, Type dataInterfaceType)
        {
            IEnumerable <IDataActionId> dataActionIdsByType = DataActionProviderPluginFacade.GetActionsByType(providerName, dataInterfaceType);

            List <DataActionSourceId> dataActionSourceIdsByType = dataActionIdsByType.ToList <IDataActionId, DataActionSourceId>(id => new DataActionSourceId(id, providerName));


            foreach (List <DataActionSourceId> actionList in result.Values)
            {
                actionList.AddRange(dataActionSourceIdsByType);
            }
        }
Ejemplo n.º 2
0
        private static void AddActionsByData <T>(Dictionary <DataSourceId, List <DataActionSourceId> > result, string providerName, IQueryable <T> data)
            where T : class, IData
        {
            Dictionary <DataSourceId, List <IDataActionId> > dataActionIdsByData = DataActionProviderPluginFacade.GetActionsByData <T>(providerName, data);

            if (dataActionIdsByData != null)
            {
                foreach (KeyValuePair <DataSourceId, List <IDataActionId> > kvp in dataActionIdsByData)
                {
                    List <DataActionSourceId> dataActionSourceIds;
                    if (result.TryGetValue(kvp.Key, out dataActionSourceIds) == false)
                    {
                        throw new InvalidOperationException(string.Format("The DataActionProvider {0} returned a DataSourceId that was not a part of the data query", providerName));
                    }

                    List <DataActionSourceId> dataActionSourceIdsByData = kvp.Value.ToList <IDataActionId, DataActionSourceId>(id => new DataActionSourceId(id, providerName));

                    dataActionSourceIds.AddRange(dataActionSourceIdsByData);
                }
            }
        }