private void WriteNamespaceMethods()

in src/Readers/Vipr.Reader.OData.v4/OdcmReader.cs [402:427]


            private void WriteNamespaceMethods(IEdmModel edmModel, string @namespace, IEnumerable<IEdmEntityType> allEntityTypes)
            {
                var allElements = AllElementsByNamespace(edmModel.SchemaElements, @namespace).ToList();
                var actions = AllActions(allElements).ToList();
                var functions = AllFunctions(allElements).ToList();

                if (!actions.Any() && !functions.Any())
                {
                    return;
                }

                foreach (var entityType in allEntityTypes)
                {
                    var odcmClass = TryResolveType<OdcmEntityClass>(entityType.Name, entityType.Namespace);

                    foreach (var action in actions.Where(element => IsOperationBoundTo(element, entityType)).GroupBy(e => e.Name))
                    {
                        WriteMethodGroup(odcmClass, action);
                    }

                    foreach (var function in functions.Where(element => IsOperationBoundTo(element, entityType)).GroupBy(e => e.Name))
                    {
                        WriteMethodGroup(odcmClass, function);
                    }
                }
            }