Example #1
0
        /// <summary>
        /// Retrieve all direct references from an api list.
        /// </summary>
        /// <param name="apis">An ApiList object.</param>
        /// <returns>A list of EntityInfo.</returns>
        public static List <EntityInfo> GetApiListDirectReferences(this ApiList apis)
        {
            var directReferences = new List <EntityInfo>();

            if (!apis.IsValid())
            {
                return(directReferences);
            }

            var entityComparer = new EntityInfoComparer();

            foreach (var api in apis)
            {
                if (api.IsValid())
                {
                    directReferences = directReferences
                                       .Union(
                        api.GetApiDirectReferences(),
                        entityComparer)
                                       .ToList();
                }
            }

            return(directReferences);
        }
        /// <summary>
        /// Retrieve ViewModels from a layout action.
        /// </summary>
        /// <param name="action">An ActionInfo object.</param>
        /// <returns>A list of EntityInfo.</returns>
        public static List <EntityInfo> GetActionViewModelsEntities(
            this ActionInfo action,
            ApiList apis)
        {
            var viewModels = new List <EntityInfo>();

            if (!action.IsValid() ||
                !apis.IsValid())
            {
                return(viewModels);
            }

            var apiAction      = action.GetAction();
            var entityComparer = new EntityInfoComparer();

            if (apiAction.IsValid())
            {
                viewModels = viewModels
                             .Union(
                    apis.GetApiListViewModelsEntities(apiAction),
                    entityComparer)
                             .ToList();
            }

            return(viewModels);
        }
Example #3
0
        /// <summary>
        /// Retrieve ViewModels from layout actions.
        /// </summary>
        /// <param name="layout">A LayoutInfo object.</param>
        /// <param name="apis">An ApiList object.</param>
        /// <returns>A list of EntityInfo.</returns>
        public static List <EntityInfo> GetLayoutViewModelsEntities(
            this LayoutInfo layout,
            ApiList apis)
        {
            var viewModels = new List <EntityInfo>();

            if (!apis.IsValid() ||
                !layout.IsValid())
            {
                return(viewModels);
            }

            var entityComparer = new EntityInfoComparer();

            if (layout.Actions.IsValid())
            {
                viewModels = viewModels
                             .Union(
                    layout.Actions.GetActionsViewModelsEntities(apis),
                    entityComparer)
                             .ToList();
            }

            return(viewModels);
        }
Example #4
0
        /// <summary>
        /// Retrieve ViewModels from a list of api in function of a layout action.
        /// </summary>
        /// <param name="apis">An ApiList object.</param>
        /// <param name="layoutAction">A layout action name.</param>
        /// <returns>A list of EntityInfo.</returns>
        public static List <EntityInfo> GetApiListViewModelsEntities(
            this ApiList apis,
            string layoutAction)
        {
            var viewModels = new List <EntityInfo>();

            if (!apis.IsValid() ||
                !layoutAction.IsValid())
            {
                return(viewModels);
            }

            var entityComparer = new EntityInfoComparer();

            foreach (var api in apis)
            {
                if (api.IsValid())
                {
                    viewModels = viewModels
                                 .Union(
                        api.GetApiViewModelsEntities(layoutAction),
                        entityComparer)
                                 .ToList();
                }
            }

            return(viewModels);
        }
        /// <summary>
        /// Retrieve services id from actions.
        /// </summary>
        /// <param name="layoutActions">An ActionList object.</param>
        /// <param name="apis">An ApiList object.</param>
        /// <returns>A list of services id.</returns>
        public static List <string> GetActionListServices(
            this ActionList layoutActions,
            ApiList apis)
        {
            var services = new List <string>();

            if (!layoutActions.IsValid() ||
                !apis.IsValid())
            {
                return(services);
            }

            foreach (var action in layoutActions)
            {
                if (action.IsValid())
                {
                    var service = action.GetActionService(apis);

                    if (service.IsValid() &&
                        !services.Any(item => item == service))
                    {
                        services.Add(service);
                    }
                }
            }

            return(services);
        }
        /// <summary>
        /// Retrieve viewModels from actions.
        /// </summary>
        /// <param name="layoutActions">A list of layout actions.</param>
        /// <param name="apis">A list of api.</param>
        /// <returns>A list of EntityInfo.</returns>
        public static List <EntityInfo> GetActionsViewModelsEntities(
            this ActionList layoutActions,
            ApiList apis)
        {
            var viewModels = new List <EntityInfo>();

            if (!layoutActions.IsValid() ||
                !apis.IsValid())
            {
                return(viewModels);
            }

            var entityComparer = new EntityInfoComparer();

            if (layoutActions != null)
            {
                foreach (var action in layoutActions)
                {
                    if (action.IsValid())
                    {
                        viewModels = viewModels
                                     .Union(
                            action.GetActionViewModelsEntities(apis),
                            entityComparer)
                                     .ToList();
                    }
                }
            }

            return(viewModels);
        }
Example #7
0
        public static bool IsValid(this ApiList apis)
        {
            if (!apis.IsValid <ApiInfo>())
            {
                return(false);
            }

            return(true);
        }
Example #8
0
        /// <summary>
        /// Retrieve a service id from a layout action service id.
        /// </summary>
        /// <param name="apis">An ApiList object.</param>
        /// <param name="apiService">A service id.</param>
        /// <returns>A service id.</returns>
        public static string GetApiListService(
            this ApiList apis,
            string apiService)
        {
            if (!apis.IsValid() ||
                !apiService.IsValid())
            {
                return(null);
            }

            return(apis
                   .Where(a => a.GetApiService(apiService) != null)
                   .Select(a => a.GetApiService(apiService))
                   .FirstOrDefault());
        }
        /// <summary>
        /// Retrieve service id from a layout action.
        /// </summary>
        /// <param name="action">An ActionInfo object.</param>
        /// <param name="apis">An ApiList object.</param>
        /// <returns>A service id.</returns>
        public static string GetActionService(
            this ActionInfo action,
            ApiList apis)
        {
            if (!action.IsValid() ||
                !apis.IsValid())
            {
                return(null);
            }

            var apiService = action.GetService();

            if (apiService.IsValid())
            {
                return(apis.GetApiListService(apiService));
            }

            return(null);
        }
Example #10
0
        /// <summary>
        /// Retrieve ViewModels from a list of api.
        /// </summary>
        /// <param name="apis">An ApiList object.</param>
        /// <returns>A list of ViewModels id.</returns>
        public static List <string> GetApiListViewModelsId(this ApiList apis)
        {
            var viewModels = new List <string>();

            if (!apis.IsValid())
            {
                return(viewModels);
            }

            foreach (var api in apis)
            {
                if (api.IsValid())
                {
                    viewModels = viewModels
                                 .Union(api.GetApiViewModelsId())
                                 .ToList();
                }
            }

            return(viewModels);
        }
Example #11
0
        /// <summary>
        /// Retrieve services id from layout actions.
        /// </summary>
        /// <param name="layout">A LayoutInfo object.</param>
        /// <param name="apis">An ApiList object.</param>
        /// <returns>A list of services id.</returns>
        public static List <string> GetLayoutServices(
            this LayoutInfo layout,
            ApiList apis)
        {
            var services = new List <string>();

            if (!apis.IsValid() ||
                !layout.IsValid())
            {
                return(services);
            }

            if (layout.Actions.IsValid())
            {
                services = services
                           .Union(layout.Actions.GetActionListServices(apis))
                           .ToList();
            }

            return(services);
        }
Example #12
0
        /// <summary>
        /// Retrieve ViewModels from layout actions.
        /// </summary>
        /// <param name="layout">A LayoutInfo object.</param>
        /// <param name="apis">An ApiList object.</param>
        /// <returns>A list of ViewModels id.</returns>
        public static List <string> GetLayoutViewModelsId(
            this LayoutInfo layout,
            ApiList apis)
        {
            var viewModels = new List <string>();

            if (!apis.IsValid() ||
                !layout.IsValid())
            {
                return(viewModels);
            }

            if (layout.Actions.IsValid())
            {
                viewModels = viewModels
                             .Union(layout.Actions.GetActionsViewModelsId(apis))
                             .ToList();
            }

            return(viewModels);
        }
        /// <summary>
        /// Retrieve ViewModels from a layout action.
        /// </summary>
        /// <param name="action">An ActionInfo object.</param>
        /// <param name="apis">An ApiList object.</param>
        /// <returns>A list of ViewModels id.</returns>
        public static List <string> GetActionViewModelsId(
            this ActionInfo action,
            ApiList apis)
        {
            var viewModels = new List <string>();

            if (!action.IsValid() ||
                !apis.IsValid())
            {
                return(viewModels);
            }

            var apiAction = action.GetAction();

            if (apiAction.IsValid())
            {
                viewModels = viewModels
                             .Union(apis.GetApiListViewModelsId(apiAction))
                             .ToList();
            }

            return(viewModels);
        }
        /// <summary>
        /// Retrieve viewModels from actions.
        /// </summary>
        /// <param name="layoutActions">A list of layout actions.</param>
        /// <param name="apis">A list of api.</param>
        /// <returns>A list of ViewModels id.</returns>
        public static List <string> GetActionsViewModelsId(
            this ActionList layoutActions,
            ApiList apis)
        {
            var viewModels = new List <string>();

            if (!layoutActions.IsValid() ||
                !apis.IsValid())
            {
                return(viewModels);
            }

            foreach (var action in layoutActions)
            {
                if (action.IsValid())
                {
                    viewModels = viewModels
                                 .Union(action.GetActionViewModelsId(apis))
                                 .ToList();
                }
            }

            return(viewModels);
        }