/// <inheritdoc />
        protected override void SetProceduralResourceMethods(IProceduralEntityResource resource, Method[] methods)
        {
            var _resource = (ProceduralResource)resource;

            _resource.Methods = methods;
            SQLite <ProceduralResource> .Update(new[] { _resource });
        }
        /// <inheritdoc />
        protected override void SetProceduralResourceDescription(IProceduralEntityResource resource, string newDescription)
        {
            var _resource = (ProceduralResource)resource;

            _resource.Description = newDescription;
            SQLite <ProceduralResource> .Update(new[] { _resource });
        }
예제 #3
0
        private bool IsProcedural(out IProceduralEntityResource proceduralResource, out IEntityResource entityResource,
                                  out IEntityResourceProviderInternal provider)
        {
            proceduralResource = null;
            entityResource     = null;
            provider           = null;

            if (IResource is IEntityResource _entityResource)
            {
                entityResource = _entityResource;
            }
            else
            {
                return(false);
            }
            if (!EntityResourceProviders.TryGetValue(entityResource.Provider, out provider) || !(provider is IProceduralEntityResourceProvider))
            {
                return(false);
            }
            var resource = entityResource;

            if (provider.SelectProceduralResources().FirstOrDefault(r => r.Name == resource.Name) is IProceduralEntityResource _dynamicResource)
            {
                proceduralResource = _dynamicResource;
            }
            else
            {
                return(false);
            }
            return(true);
        }
예제 #4
0
        /// <inheritdoc />
        protected override void SetProceduralResourceDescription(IProceduralEntityResource resource, string newDescription)
        {
            var _resource = (ProceduralResource)resource;

            _resource.Description = newDescription;
            SQLite <ProceduralResource> .Update(_resource.ToAsyncSingleton()).Wait();
        }
예제 #5
0
        /// <inheritdoc />
        protected override void SetProceduralResourceMethods(IProceduralEntityResource resource, Method[] methods)
        {
            var _resource = (ProceduralResource)resource;

            _resource.Methods = methods;
            SQLite <ProceduralResource> .Update(_resource.ToAsyncSingleton()).Wait();
        }
        /// <inheritdoc />
        protected override bool DeleteProceduralResource(IProceduralEntityResource resource)
        {
            var _resource = (DynamicResource)resource;

            DynamitControl.ClearTable(_resource.TableName);
            Db.TransactAsync(_resource.Delete);
            return(true);
        }
        /// <inheritdoc />
        protected override bool DeleteProceduralResource(IProceduralEntityResource resource)
        {
            var _resource = (ProceduralResource)resource;

            TableMapping.Drop(_resource.Type);
            SQLite <ProceduralResource> .Delete(new[] { _resource });

            return(true);
        }
예제 #8
0
        /// <inheritdoc />
        protected override bool DeleteProceduralResource(IProceduralEntityResource resource)
        {
            var _resource = (ProceduralResource)resource;

            TableMapping.Drop(_resource.Type).Wait();
            SQLite <ProceduralResource> .Delete(_resource.ToAsyncSingleton()).Wait();

            return(true);
        }
예제 #9
0
        private void InsertProcedural(IProceduralEntityResource resource, ResourceValidator validator)
        {
            var attribute = new RESTableProceduralAttribute(resource.Methods)
            {
                Description = resource.Description
            };
            var type = resource.Type;

            validator.ValidateRuntimeInsertion(type, resource.Name, attribute);
            validator.Validate(type);
            var inserted = _InsertResource(type, resource.Name, attribute);

            ReceiveClaimed(new[] { inserted });
        }
 /// <inheritdoc />
 protected override void SetProceduralResourceDescription(IProceduralEntityResource resource, string newDescription) =>
 Db.TransactAsync(() =>
 {
     var _resource         = (DynamicResource)resource;
     _resource.Description = newDescription;
 });
 /// <inheritdoc />
 protected override void SetProceduralResourceMethods(IProceduralEntityResource resource, Method[] methods) =>
 Db.TransactAsync(() =>
 {
     var _resource     = (DynamicResource)resource;
     _resource.Methods = methods;
 });
예제 #12
0
 void IEntityResourceProviderInternal.SetProceduralResourceDescription(IProceduralEntityResource resource, string newDescription)
 {
     SetProceduralResourceDescription(resource, newDescription);
 }
예제 #13
0
 void IEntityResourceProviderInternal.SetProceduralResourceMethods(IProceduralEntityResource resource, Method[] methods)
 {
     SetProceduralResourceMethods(resource, methods);
 }
예제 #14
0
 void IEntityResourceProviderInternal.InsertProcedural(IProceduralEntityResource resource) => InsertProcedural(resource);
예제 #15
0
 bool IEntityResourceProviderInternal.DeleteProceduralResource(IProceduralEntityResource resource) => DeleteProceduralResource(resource);