public SamePathTypeResourceDispatcher([NotNull] string contentType, [NotNull] string fileType, [NotNull] Assembly assembly, string baseNamespace, [NotNull] ResourceFilter filter) : base(contentType, assembly, null)
        {
            _assembly      = assembly;
            _baseNamespace = baseNamespace;
            if (filter == null)
            {
                throw new ArgumentNullException(nameof(filter));
            }
            if (fileType == null)
            {
                throw new ArgumentNullException(nameof(fileType));
            }
            _fileType      = fileType;
            _filter        = filter;
            _resourceNames = new List <string>();
            var _Resources = _assembly.GetManifestResourceNames();

            foreach (var res in _Resources)
            {
                if (res.Contains(_baseNamespace) && res.Contains($".{fileType}"))
                {
                    var name = res.Replace($"{_baseNamespace}.", "");
                    _resourceNames.Add(name);
                }
            }
        }
        public void OnActionExecuted_get_LocalAndGlobalResources_for_IndexActionResult()
        {
            string viewResultName = "testView";
            string actionName     = "Index";
            string controllerName = "Home";

            // Arrange : Create actionExecutedContext
            var hp                    = Container.createHp();
            var homeController        = Container.createHomeController();
            var actionExecutedContext = FilterActionFake.FakeActionExecutedContext(homeController, false, controllerName, actionName);

            ResourceFilter resourceFilter = new ResourceFilter(); // Instantiate filter and set properties

            resourceFilter.LocalResources = Container.createIResource();
            resourceFilter.hp             = hp;

            // Act: Set view result and execute the onActionExecuted
            actionExecutedContext.Result = FilterActionFake.getViewResult(viewResultName, actionExecutedContext.Controller.ViewData);
            resourceFilter.OnActionExecuted(actionExecutedContext);

            // Assert
            var expectedlocalResource = Container.createIResource();

            expectedlocalResource.getResources(string.Format("{0}{1}", controllerName, actionName));

            var actualLocalResource = actionExecutedContext.Controller.ViewData[hp.getLocalResourceKey()] as IResource;

            Assert.IsTrue(compareTwoResources(expectedlocalResource, actualLocalResource), "Local resource is not set in viewdata.");
        }
        public ResourceListPopup(PropertyItem property, Type resourceType)
        {
            InitializeComponent();
            _property = property;
            Title     = "Select " + resourceType.Name;

            List <object> resources = ThomasEngine.Resources.GetResourcesOfType(resourceType).Cast <object>().ToList();


            if (resourceType == typeof(Material))
            {
                resources.Insert(0, Material.StandardMaterial);
            }
            else if (resourceType == typeof(Texture2D))
            {
                resources.Insert(0, Texture2D.blackTexture);
                resources.Insert(0, Texture2D.whiteTexture);
            }
            resources.Insert(0, "None");

            ResourceList.ItemsSource = resources;
            CollectionViewSource.GetDefaultView(ResourceList.ItemsSource).Filter = ResourcesFilter;
            ResourceFilter.Focus();
            Visibility = Visibility.Visible;
        }
Beispiel #4
0
        public async Task <Resource> GetById(ResourceFilter model)
        {
            var _resource = await this.SingleOrDefaultAsync(this.GetAll(this.DataAgregation(model))
                                                            .Where(_ => _.ResourceId == model.ResourceId));

            return(_resource);
        }
Beispiel #5
0
        public void ShouldMatchValueString()
        {
            var filter = new ResourceFilter {
                ValueRegex = new Regex(@"amazing kiwi")
            };

            filter.ValueIsMatch("What an amazing kiwi").ShouldBeTrue();
        }
Beispiel #6
0
        public void ShouldMatchKeyString()
        {
            var filter = new ResourceFilter {
                KeyRegex = new Regex(@"Kiwi")
            };

            filter.KeyIsMatch("This_is_my_Kiwi_resource").ShouldBeTrue();
        }
Beispiel #7
0
        /// <summary>
        /// Retrieve a paged list of resources
        /// </summary>
        /// <param name="filter">Search criteria</param>
        /// <param name="currentPage">Current page</param>
        /// <param name="numPerPage">Number of items per page</param>
        /// <returns>Paged list of matching resources</returns>
        public PagedList <Resource> GetResources(ResourceFilter filter, int currentPage, int numPerPage)
        {
            int             totalRecords = 0;
            List <Resource> resources    = _resourceRepository.Search(filter, currentPage,
                                                                      numPerPage, out totalRecords).ToList();

            return(new PagedList <Resource>(resources, currentPage, numPerPage, totalRecords));
        }
Beispiel #8
0
        public ResourceStoreController(Func <string> GetFilterText)
        {
            BaseModel = new ResourceListStore();

            this.GetFilterText = GetFilterText;

            ResourceFilter = new ResourceFilter(GetFilterText, BaseModel, null);
        }
 public async Task <IActionResult> Get(int id, [FromQuery] ResourceFilter filters)
 {
     if (id.IsSent())
     {
         filters.ResourceId = id;
     }
     return(await base.GetOne(filters, "Seed - Resource"));
 }
Beispiel #10
0
        public void ShouldMatchResourceOnKeyAndValue()
        {
            var filter = new ResourceFilter {
                KeyRegex = new Regex(@"Kiwi"), ValueRegex = new Regex(@"amazing kiwi")
            };
            var resource = new Resource("This_is_my_Kiwi_resource", "What an amazing kiwi");

            filter.IsMatch(resource).ShouldBeTrue();
        }
Beispiel #11
0
        public void ShouldMatchResourceOnKey()
        {
            var filter = new ResourceFilter {
                KeyRegex = new Regex(@"Kiwi")
            };
            var resource = new Resource("This_is_my_Kiwi_resource");

            filter.IsMatch(resource).ShouldBeTrue();
        }
Beispiel #12
0
        public async Task <PaginateResult <dynamic> > GetDataListCustomPaging(ResourceFilter filters)
        {
            var querybase = await this.PagingDataListCustom <dynamic>(filters, this.GetBySimplefilters(filters).Select(_ => new
            {
                Id = _.ResourceId
            }));

            return(querybase);
        }
Beispiel #13
0
        public async Task <dynamic> GetDataCustom(ResourceFilter filters)
        {
            var querybase = await this.ToListAsync(this.GetBySimplefilters(filters).Select(_ => new
            {
                Id = _.ResourceId
            }));

            return(querybase);
        }
Beispiel #14
0
        public async Task <IActionResult> GetPagedDataAsync([FromBody] ResourceFilter resourceInput)
        {
            var response = await topicsResourcesBusinessLogic.GetPagedResourceAsync(resourceInput);

            if (response == null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
            return(Content(response));
        }
Beispiel #15
0
        public async Task <IActionResult> GetPersonalizedDataAsync([FromBody] ResourceFilter resourceInput)
        {
            var response = await topicsResourcesBusinessLogic.GetPersonalizedResourcesAsync(resourceInput);

            if (response == null)
            {
                return(StatusCode(StatusCodes.Status404NotFound));
            }
            return(Content(response));
        }
Beispiel #16
0
        public async Task <IEnumerable <dynamic> > GetDataItem(ResourceFilter filters)
        {
            var querybase = await this.ToListAsync(this.GetBySimplefilters(filters).Select(_ => new
            {
                Id   = _.ResourceId,
                Name = _.Group
            }));

            return(querybase);
        }
Beispiel #17
0
        public IQueryable <Resource> GetBySimplefilters(ResourceFilter filters)
        {
            var querybase = this.GetAll(this.DataAgregation(filters))
                            .WithBasicFilters(filters)
                            .WithCustomFilters(filters)
                            .OrderByDomain(filters)
                            .OrderByProperty(filters);

            return(querybase);
        }
Beispiel #18
0
    public void Init(IEnumerable <ResourceInfo> resources)
    {
        var resourceInfos = resources.Where(info => AllowedTypes.Contains(info.ResourceType)).ToArray();

        AllowedResources = new ResourceFilter[resourceInfos.Length];
        for (var i = 0; i < AllowedResources.Length; ++i)
        {
            AllowedResources[i] = new ResourceFilter {
                MaxAmount = int.MaxValue, Resource = resourceInfos[i]
            };
        }
    }
Beispiel #19
0
        public ResourceListViewModel Get([FromUri] ResourceListInputModel inputModel)
        {
            if (inputModel == null)
            {
                inputModel = new ResourceListInputModel();
            }

            var filter = new ResourceFilter();

            _mapper.Map(inputModel, filter);

            var resources = _resourceService.GetResources(filter, inputModel.CurrentPage, inputModel.NumPerPage);

            return(new ResourceListViewModel(resources));
        }
Beispiel #20
0
        /// <summary>
        /// Remove the specified resource at the path
        /// </summary>
        /// <param name="path">Returns true if the path is a valid path.</param>
        public bool Remove(TreePath path)
        {
            TreeIter iter;

            if (IsFilterable)
            {
                ResourceFilter.GetIter(out iter, path);
                iter = ResourceFilter.ConvertIterToChildIter(iter);
            }
            else
            {
                BaseModel.GetIter(out iter, path);
            }

            return(BaseModel.Remove(ref iter));
        }
Beispiel #21
0
        public void FindItemsWhereArrayContainsWithAndClauseAsyncShouldVaildSqlQueryForResourceCountWithLocationDetails()
        {
            // Arrange
            Location location = new Location {
                State = "Hawaii"
            };
            ResourceFilter resourceFilter = new ResourceFilter {
                PageNumber = 0, ResourceType = "ALL", Location = location
            };
            string query = "SELECT c.resourceType FROM c WHERE  (c.resourceType != 'Guided Assistant' OR (c.resourceType = 'Guided Assistant' AND c.isActive = true)) AND  (ARRAY_CONTAINS(c.location,{\"state\":\"Hawaii\"},true))";

            //Act
            dynamicQueries.FindItemsWhereArrayContainsWithAndClauseAsync("topicTags", "id", "resourceType", resourceFilter, true);

            // Assert
            cosmosDbService.Received().QueryResourcesCountAsync(query);
        }
Beispiel #22
0
        public void FindItemsWhereArrayContainsWithAndClauseAsyncShouldVaildSqlQueryWithGuidedAssistantResourceType()
        {
            // Arrange
            Location location = new Location {
                State = "Hawaii", City = "Honolulu", County = "Honolulu", ZipCode = "96801"
            };
            ResourceFilter resourceFilter = new ResourceFilter {
                PageNumber = 0, ResourceType = "Guided Assistant", Location = location
            };
            string query = "SELECT * FROM c WHERE  c.resourceType = 'Guided Assistant' AND  c.isActive = true AND  (ARRAY_CONTAINS(c.location,{\"state\":\"Hawaii\",\"county\":\"Honolulu\",\"city\":\"Honolulu\",\"zipCode\":\"96801\"},true))";

            //Act
            dynamicQueries.FindItemsWhereArrayContainsWithAndClauseAsync("topicTags", "id", "resourceType", resourceFilter);

            // Assert
            cosmosDbService.Received().QueryPagedResourcesAsync(query, "");
        }
 public SamePathTypeResourceDispatcher([NotNull] string contentType, [NotNull] string fileType, [NotNull] Assembly assembly, string baseNamespace, IEnumerable <string> resourceNames, [NotNull]  ResourceFilter filter) : base(contentType, assembly, null)
 {
     _assembly      = assembly;
     _baseNamespace = baseNamespace;
     if (filter == null)
     {
         throw new ArgumentNullException(nameof(filter));
     }
     if (fileType == null)
     {
         throw new ArgumentNullException(nameof(fileType));
     }
     _fileType      = fileType;
     _filter        = filter;
     _resourceNames = new List <string>();
     _resourceNames.AddRange(resourceNames);
 }
Beispiel #24
0
        public void FindItemsWhereArrayContainsWithAndClauseAsyncShouldVaildSqlQuery()
        {
            // Arrange
            var ids = new List <string>()
            {
                "guid1"
            };
            ResourceFilter resourceFilter = new ResourceFilter {
                TopicIds = ids, PageNumber = 0, ResourceType = "All"
            };
            string query = @"SELECT * FROM c WHERE ( ARRAY_CONTAINS(c.topicTags, { 'id' : 'guid1'})) AND  (c.resourceType != 'Guided Assistant' OR (c.resourceType = 'Guided Assistant' AND c.isActive = true))";

            //Act
            dynamicQueries.FindItemsWhereArrayContainsWithAndClauseAsync("topicTags", "id", "resourceType", resourceFilter);

            // Assert
            cosmosDbService.Received().QueryPagedResourcesAsync(query, "");
        }
Beispiel #25
0
        public async Task <IActionResult> GetByFilter([FromQuery] ResourceFilter filter)
        {
            var validationResult = new ResourceFilterValidator().Validate(filter);

            validationResult.AddToModelState(this.ModelState, null);

            if (!validationResult.IsValid)
            {
                return(ValidationError());
            }

            var page = await ResourceStore.Get(filter);

            if (page.IsEmpty)
            {
                return(NotFound <Resource>(filter, page.Total));
            }

            return(Collection <Resource>(filter, page.Total, page.Items));
        }
Beispiel #26
0
        public void FindItemsWhereArrayContainsWithAndClauseAsyncShouldVaildSqlQueryWithResourceTypePageNumberAndLocationDetails()
        {
            // Arrange
            var ids = new List <string>()
            {
                "guid1"
            };
            Location location = new Location {
                State = "Hawaii", City = "Honolulu", County = "Honolulu", ZipCode = "96801"
            };
            ResourceFilter resourceFilter = new ResourceFilter {
                TopicIds = ids, PageNumber = 1, ResourceType = "Forms", Location = location, ContinuationToken = "continutationToken"
            };
            string query = "SELECT * FROM c WHERE ( ARRAY_CONTAINS(c.topicTags, { 'id' : 'guid1'})) AND c.resourceType = 'Forms' AND  (ARRAY_CONTAINS(c.location,{\"state\":\"Hawaii\",\"county\":\"Honolulu\",\"city\":\"Honolulu\",\"zipCode\":\"96801\"},true))";

            //Act
            dynamicQueries.FindItemsWhereArrayContainsWithAndClauseAsync("topicTags", "id", "resourceType", resourceFilter);

            // Assert
            cosmosDbService.Received().QueryPagedResourcesAsync(query, resourceFilter.ContinuationToken);
        }
Beispiel #27
0
        public void FindItemsWhereArrayContainsWithAndClauseAsyncShouldVaildSqlQueryWithLocationAndResourceType()
        {
            // Arrange
            var ids = new List <string>()
            {
                "guid1"
            };
            Location location = new Location {
                State = "Hawaii"
            };
            ResourceFilter resourceFilter = new ResourceFilter {
                TopicIds = ids, PageNumber = 0, ResourceType = "Forms", Location = location
            };
            string query = "SELECT * FROM c WHERE ( ARRAY_CONTAINS(c.topicTags, { 'id' : 'guid1'})) AND c.resourceType = 'Forms' AND  (ARRAY_CONTAINS(c.location,{\"state\":\"Hawaii\"},true))";

            //Act
            dynamicQueries.FindItemsWhereArrayContainsWithAndClauseAsync("topicTags", "id", "resourceType", resourceFilter);

            // Assert
            cosmosDbService.Received().QueryPagedResourcesAsync(query, "");
        }
        public async Task <dynamic> GetPersonalizedResourcesAsync(ResourceFilter resourceFilter)
        {
            dynamic Topics    = Array.Empty <string>();
            dynamic Resources = Array.Empty <string>();

            if (resourceFilter.TopicIds != null && resourceFilter.TopicIds.Count() > 0)
            {
                Topics = await dbClient.FindItemsWhereInClauseAsync(dbSettings.TopicsCollectionId, "id", resourceFilter.TopicIds) ?? Array.Empty <string>();
            }
            if (resourceFilter.ResourceIds != null && resourceFilter.ResourceIds.Count() > 0)
            {
                Resources = await dbClient.FindItemsWhereInClauseAsync(dbSettings.ResourcesCollectionId, "id", resourceFilter.ResourceIds) ?? Array.Empty <string>();
            }
            Topics    = JsonConvert.SerializeObject(Topics);
            Resources = JsonConvert.SerializeObject(Resources);

            JObject personalizedResources = new JObject {
                { "topics", JsonConvert.DeserializeObject(Topics) },
                { "resources", JsonConvert.DeserializeObject(Resources) }
            };

            return(personalizedResources.ToString());
        }
        public async Task <dynamic> GetPagedResourceAsync(ResourceFilter resourceFilter)
        {
            PagedResourceViewModel pagedResourceViewModel = new PagedResourceViewModel();

            if (resourceFilter.IsResourceCountRequired)
            {
                var groupedResourceType = await GetResourcesCountAsync(resourceFilter);

                pagedResourceViewModel.ResourceTypeFilter = JsonUtilities.DeserializeDynamicObject <dynamic>(groupedResourceType);
            }
            dynamic searchFilter = new JObject();

            searchFilter.OrderByField = resourceFilter.OrderByField;
            searchFilter.OrderBy      = resourceFilter.OrderBy;
            PagedResources pagedResources = await ApplyPaginationAsync(resourceFilter);

            dynamic serializedToken = pagedResources?.ContinuationToken ?? Constants.EmptyArray;

            pagedResourceViewModel.Resources         = JsonUtilities.DeserializeDynamicObject <dynamic>(pagedResources?.Results);
            pagedResourceViewModel.ContinuationToken = JsonConvert.DeserializeObject(serializedToken);
            pagedResourceViewModel.TopicIds          = JsonUtilities.DeserializeDynamicObject <dynamic>(pagedResources?.TopicIds);
            pagedResourceViewModel.SearchFilter      = searchFilter;
            return(JObject.FromObject(pagedResourceViewModel).ToString());
        }
 public async Task <IActionResult> Get([FromQuery] ResourceFilter filters)
 {
     return(await base.Get <ResourceFilter>(filters, "Seed - Resource"));
 }