Пример #1
0
        private void RefreshResourceData()
        {
            IList <Resource> entityList = null;
            Dictionary <Guid, IEnumerable <string> > userPermissions = null;
            int totalRecords = 0;

            int pageSize       = _pageSizeRage[PageSizeList.SelectedIndex > 0 ? PageSizeList.SelectedIndex : 0];
            int fetchedRecords = pageSize * ResourceListView.PageIndex;

            // Fetch entities from database.
            if (!IsSecurityAwareControl)
            {
                entityList = GetEntityList(fetchedRecords, pageSize, out totalRecords);
            }
            else
            {
                entityList = GetEntityList(AuthenticatedToken, fetchedRecords, pageSize, out totalRecords,
                                           this.SortExpression, this.SortDirection);
                if (entityList != null && entityList.Count > 0)
                {
                    userPermissions = GetPermissions(AuthenticatedToken, entityList);
                }
            }

            ResourceListView.PageSize     = pageSize;
            ResourceListView.TotalRecords = totalRecords;

            ResourceListView.DataSource.Clear();
            foreach (Resource resource in entityList)
            {
                ResourceListView.DataSource.Add(resource);
            }

            ResourceListView.UserPermissions = userPermissions;
            ResourceListView.DataBind();
        }
Пример #2
0
    private void RefreshDataSource(int pageIndex, string searchText)
    {
        int totalPages = 0;

        ResourceListView.PageIndex    = 0;
        ResourceListView.TotalRecords = 0;
        ResourceListView.DataSource.Clear();
        if (!string.IsNullOrEmpty(searchText))
        {
            int totalRecords = 0;
            ResourceListView.PageSize = _pageSize;
            int             totalParsedRecords = totalParsedRecords = _pageSize * pageIndex;
            List <Resource> foundRestResource  = null;
            Dictionary <Guid, IEnumerable <string> > userPermissions = null;

            SortProperty sortProp = null;
            if (ResourceListView.SortDirection == System.Web.UI.WebControls.SortDirection.Ascending)
            {
                sortProp = new SortProperty(ResourceListView.SortExpression, Zentity.Platform.SortDirection.Ascending);
            }
            else
            {
                sortProp = new SortProperty(ResourceListView.SortExpression, Zentity.Platform.SortDirection.Descending);
            }

            //search resources and user permissions on the searched resources.
            using (ResourceDataAccess dataAccess = new ResourceDataAccess())
            {
                AuthenticatedToken token = this.Session[Constants.AuthenticationTokenKey] as AuthenticatedToken;
                if (token != null)
                {
                    foundRestResource = dataAccess.SearchResources(token, searchText, _pageSize, sortProp, totalParsedRecords,
                                                                   false, out totalRecords).ToList();
                    userPermissions = GetPermissions(token, foundRestResource);
                }
            }

            //Calculate total pages
            if (totalRecords > 0)
            {
                totalPages = Convert.ToInt32(Math.Ceiling((double)totalRecords / _pageSize));
            }

            // Update empty resource's title with default value.
            if (foundRestResource != null && foundRestResource.Count() > 0)
            {
                Utility.UpdateResourcesEmptyTitle(foundRestResource);
            }

            //Bind data to GridView
            ResourceListView.TotalRecords = totalRecords;
            ResourceListView.PageIndex    = pageIndex;

            foreach (Resource resource in foundRestResource)
            {
                ResourceListView.DataSource.Add(resource);
            }

            ResourceListView.UserPermissions = userPermissions;
            //Enable feed for this page.
            string searchString = GetSearchString();
            if (!string.IsNullOrEmpty(searchString))
            {
                ResourceListView.EnableFeed(searchString);
            }
            ResourceListView.DataBind();
        }
    }