Exemple #1
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            var theController = new FileSystemsConfigurationController();
            var criteria      = new FilesystemSelectCriteria();

            criteria.FilesystemTierEnum.SortAsc(0);
            criteria.Description.SortAsc(1);
            FileSystems = theController.GetFileSystems(criteria);

            TheGrid = FSGridView;

            GridPagerTop.InitializeGridPager(SR.GridPagerFileSystemSingleItem, SR.GridPagerFileSystemMultipleItems, TheGrid,
                                             () => FileSystems.Count, ImageServerConstants.GridViewPagerPosition.Top);
            Pager = GridPagerTop;
            GridPagerTop.Reset();

            // Set up the grid
            if (Height != Unit.Empty)
            {
                ContainerTable.Height = _height;
            }

            DataBind();
        }
        /// <summary>
        /// Load the FileSystems for the partition based on the filters specified in the filter panel.
        /// </summary>
        /// <remarks>
        /// This method only reloads and binds the list bind to the internal grid. <seealso cref="UpdateUI()"/> should be called
        /// to explicit update the list in the grid.
        /// <para>
        /// This is intentionally so that the list can be reloaded so that it is available to other controls during postback.  In
        /// some cases we may not want to refresh the list if there's no change. Calling <seealso cref="UpdateUI()"/> will
        /// give performance hit as the data will be transfered back to the browser.
        ///
        /// </para>
        /// </remarks>
        public void LoadFileSystems()
        {
            FilesystemSelectCriteria criteria = new FilesystemSelectCriteria();


            if (String.IsNullOrEmpty(DescriptionFilter.TrimText) == false)
            {
                QueryHelper.SetGuiStringCondition(criteria.Description,
                                                  SearchHelper.TrailingWildCard(DescriptionFilter.TrimText));
            }

            if (TiersDropDownList.SelectedIndex >= 1) /* 0 = "All" */
            {
                criteria.FilesystemTierEnum.EqualTo(Tiers[TiersDropDownList.SelectedIndex - 1]);
            }

            FileSystemsGridView1.FileSystems = _theController.GetFileSystems(criteria);
            FileSystemsGridView1.RefreshCurrentPage();
        }
Exemple #3
0
        /// <summary>
        /// Load filesystem information from the database.
        /// </summary>
        private void LoadFilesystems()
        {
            bool changed = false;

            lock (SyncLock)
            {
                try
                {
                    List <FilesystemTierEnum> tiers = FilesystemTierEnum.GetAll();

                    // sorted by enum values
                    tiers.Sort((tier1, tier2) => tier1.Enum.CompareTo(tier2.Enum));

                    _tierInfo = new TierInfo();

                    foreach (FilesystemTierEnum tier in tiers)
                    {
                        _tierInfo.Add(tier, new List <ServerFilesystemInfo>());
                    }

                    using (IReadContext read = _store.OpenReadContext())
                    {
                        IFilesystemEntityBroker  filesystemSelect = read.GetBroker <IFilesystemEntityBroker>();
                        FilesystemSelectCriteria criteria         = new FilesystemSelectCriteria();
                        IList <Filesystem>       filesystemList   = filesystemSelect.Find(criteria);

                        foreach (Filesystem filesystem in filesystemList)
                        {
                            if (_filesystemList.ContainsKey(filesystem.Key))
                            {
                                if ((filesystem.HighWatermark != _filesystemList[filesystem.Key].Filesystem.HighWatermark) ||
                                    (filesystem.LowWatermark != _filesystemList[filesystem.Key].Filesystem.LowWatermark))
                                {
                                    Platform.Log(LogLevel.Info, "Watermarks have changed for filesystem {0}, Low: {1}, High: {2}",
                                                 filesystem.Description, filesystem.LowWatermark, filesystem.HighWatermark);
                                }
                                _filesystemList[filesystem.Key].Filesystem = filesystem;
                                _tierInfo[filesystem.FilesystemTierEnum].Add(_filesystemList[filesystem.Key]);
                            }
                            else
                            {
                                ServerFilesystemInfo info = new ServerFilesystemInfo(filesystem);
                                _filesystemList.Add(filesystem.Key, info);
                                _tierInfo[filesystem.FilesystemTierEnum].Add(info);
                                info.LoadFreeSpace();
                                changed = true;
                            }
                        }
                    }
                    if (changed && _changedListener != null)
                    {
                        EventsHelper.Fire(_changedListener, this, new FilesystemChangedEventArgs(this));
                    }
                }
                catch (Exception ex)
                {
                    Platform.Log(LogLevel.Error, ex,
                                 "Exception has occurred while updating the filesystem list from the datbase. Retry later");
                }
            }
        }
 public IList <Filesystem> GetFileSystems(FilesystemSelectCriteria criteria)
 {
     return(_adapter.GetFileSystems(criteria));
 }