Exemple #1
0
        public async Task <IEnumerable <NameResponseItem> > GetAutocomplteItems(AutocompleteItemsRequest request)
        {
            var entityType = _implementationsContainer.Reflector.GetType(request.EntityTypeName);
            var keyType    = _implementationsContainer.Metadata[request.EntityTypeName].GetPrimaryKey().GetDataType().GetClrType();
            var method     = _handlerInternal.GetType().GetMethod(nameof(EfCoreEntityHandlerInternal.GetAutocompleteItemsInternal), BindingFlags.NonPublic | BindingFlags.Instance).MakeGenericMethod(entityType, keyType);
            var awaitable  = method.Invoke(_handlerInternal, new object[] { request.QueryText }) as Task <IEnumerable <NameResponseItem> >;

            return(await awaitable);
        }
Exemple #2
0
        public async Task <ActionResult <IdAndNameResponse> > GetAutocompleteItems([FromBody] AutocompleteItemsRequest request)
        {
            if (!_permissionService.IsAllowed(new ActionRequestInfo(HttpContext, _implementationsContainer, request.EntityType, ActionTypeEnum.Select)))
            {
                return(Unauthorized());
            }
            var result = await _entityHandler.GetAutocomplteItems(request);

            return(new IdAndNameResponse
            {
                EntityType = request.EntityType,
                Names = result
            });
        }