Beispiel #1
0
        public void SetPersonalViewUrl(SPView spView, string value)
        {
            if (spView == null)
            {
                return;
            }

            string             listUrl      = spView.ParentList.Url();
            TOut               settings     = this.GetSettings();
            CustomViewSettings listSettings = settings.ViewSettings.FirstOrDefault(s => s.ListUrl == listUrl);

            if (listSettings == null)
            {
                CustomViewSettings customViewSettings = new CustomViewSettings
                {
                    ListUrl     = listUrl,
                    CustomViews = new List <CustomViews>
                    {
                        new CustomViews
                        {
                            PersonalViewUrl = value,
                            ViewUrl         = spView.Url,
                            ViewId          = spView.ID,
                            IsChanget       = true,
                            SchemaXml       = spView.SchemaXml
                        }
                    }
                };
                settings.ViewSettings.Add(customViewSettings);
            }
            else
            {
                CustomViews customView = listSettings.CustomViews.FirstOrDefault(v => v.ViewId == spView.ID);
                if (customView == null)
                {
                    CustomViews customViews = new CustomViews
                    {
                        PersonalViewUrl = value,
                        ViewUrl         = spView.Url,
                        ViewId          = spView.ID,
                        IsChanget       = true,
                        SchemaXml       = spView.SchemaXml
                    };
                    listSettings.CustomViews.Add(customViews);
                }
                else
                {
                    customView.PersonalViewUrl = value;
                    customView.IsChanget       = true;
                    customView.SchemaXml       = spView.SchemaXml;
                }
            }

            this.SetSettings(settings);
        }
        public NetworkTablesRoot(
            [Import] INetworkTablesInterface ntInterface,
            [Import] IRootTablesList rootTablesList,
            [Import] IConnectionPrompts prompts,
            [ImportMany] IEnumerable <Lazy <IRootTableProcessorFactory, IDashboardTypeMetadata> > rootTableFactories,
            [ImportMany] IEnumerable <Lazy <IViewProcessorFactory, ICustomViewFactoryMetadata> > customViewFactories)
        {
            this.rootTableFactories = rootTableFactories;
            this.ntInterface        = ntInterface;
            this.rootTablesList     = rootTablesList;

            foreach (var factory in customViewFactories)
            {
                CustomViews.Add(new CustomViewEntry(factory.Metadata.Name, new Command(() =>
                                                                                       CurrentlyViewedRootTable.AddViewProcessorToView($"{factory.Metadata.Name}_{Guid.NewGuid()}", factory.Value.Create()))));
            }

            ntInterface.OnClientConnectionAttempt += (obj, args) => SetupRootTables();
            ntInterface.OnConnectionStatus        += (obj, args) => Connected = args.Connected;
            ntInterface.OnDisconnect += (obj, args) => Connected = false;

            ConnectToRoboRioCommand = new Command(() =>
            {
                var team = prompts.PromptTeamNumber();
                if (team != null)
                {
                    ntInterface.Disconnect();
                    ntInterface.ConnectToTeam(team.Value);
                }
            });

            ConnectToServerCommand = new Command(() =>
            {
                var server = prompts.PromptServerName();
                if (server != null)
                {
                    ntInterface.Disconnect();
                    ntInterface.ConnectToServer(server);
                }
            });

            SetupRootTables();
        }
Beispiel #3
0
        public string PersonalViewUrl(SPView spView)
        {
            if (spView == null)
            {
                return(string.Empty);
            }

            string             listUrl      = spView.ParentList.Url();
            TOut               settings     = this.GetSettings();
            CustomViewSettings listSettings = settings.ViewSettings.FirstOrDefault(s => s.ListUrl == listUrl);

            if (listSettings == null)
            {
                return(string.Empty);
            }
            CustomViews customView = listSettings.CustomViews.FirstOrDefault(v => v.ViewId == spView.ID);

            if (customView == null)
            {
                return(string.Empty);
            }

            return(customView.PersonalViewUrl);
        }
Beispiel #4
0
        /// <summary>
        ///     Возвращает значение свойства <see cref="IsChanged" /> для отображения.
        /// </summary>
        /// <param name="spView">Отображение для которого запрашиваются настройки.</param>
        /// <returns>Булевое значение свойства <see cref="IsChanged" /></returns>
        /// <remarks>Если настройки не существуют они будут заданны автоматически и будет присвоенно значение по умолчанию.</remarks>
        public bool IsChanged(SPView spView)
        {
            if (spView == null)
            {
                return(false);
            }

            string             listUrl      = spView.ParentList.Url();
            TOut               settings     = this.GetSettings();
            CustomViewSettings listSettings = settings.ViewSettings.FirstOrDefault(s => s.ListUrl == listUrl);

            if (listSettings == null)
            {
                return(false);
            }
            CustomViews customView = listSettings.CustomViews.FirstOrDefault(v => v.ViewId == spView.ID);

            if (customView == null)
            {
                return(false);
            }

            return(customView.IsChanget && string.Equals(spView.SchemaXml, customView.SchemaXml, StringComparison.InvariantCultureIgnoreCase));
        }