Beispiel #1
0
        public override void Execute(object parameter)
        {
            var urlParser = new UrlParser("/edit");

            if (string.IsNullOrEmpty(viewableDocument.Id))
            {
                var projection = viewableDocument.InnerDocument.ToJson().ToString(Formatting.None);
                urlParser.SetQueryParam("projection", projection);
            }
            else
            {
                urlParser.SetQueryParam("id", viewableDocument.Id);
            }

            UrlUtil.Navigate(urlParser.BuildUrl());
        }
        public override void Execute(object parameter)
        {
            var urlParser = new UrlParser("/edit");

            if (string.IsNullOrEmpty(viewableDocument.Id))
            {
                var key = ProjectionData.Projections.First(x => x.Value == viewableDocument).Key;
                urlParser.SetQueryParam("projection", key);
            }
            else
            {
                urlParser.SetQueryParam("id", viewableDocument.Id);
            }

            UrlUtil.Navigate(urlParser.BuildUrl());
        }
        public override void Execute(object parameter)
        {
            bool shouldRedirect = true;

            var urlParser = new UrlParser(UrlUtil.Url);

            if (urlParser.GetQueryParam("database") == databaseName)
            {
                shouldRedirect = false;
            }

            urlParser.SetQueryParam("database", databaseName);

            var server = ApplicationModel.Current.Server.Value;

            server.SetCurrentDatabase(urlParser);
            server.SelectedDatabase.Value.AsyncDatabaseCommands
            .EnsureSilverlightStartUpAsync()
            .Catch();

            var updateAllFromServer = View.UpdateAllFromServer();

            refreshStaticModels
            .Except(updateAllFromServer.Select(x => x.GetType()))
            .Select(model => (Model)Activator.CreateInstance(model))
            .ForEach(model => model.ForceTimerTicked());


            if (shouldRedirect)
            {
                UrlUtil.Navigate(urlParser.BuildUrl());
            }
        }
Beispiel #4
0
        private void PutCollectionNameInTheUrl()
        {
            var urlParser  = new UrlParser(UrlUtil.Url);
            var collection = SelectedCollection.Value;

            if (collection == null)
            {
                return;
            }
            var name = collection.Name;

            initialSelectedCollectionName = name;
            if (urlParser.GetQueryParam("collection") != name)
            {
                if (name != "")
                {
                    urlParser.SetQueryParam("collection", name);
                }
                else
                {
                    urlParser.RemoveQueryParam("collection");
                }

                UrlUtil.Navigate(urlParser.BuildUrl());
            }
        }
        public override void Execute(object parameter)
        {
            bool shouldRedirect = true;

            var urlParser = new UrlParser(UrlUtil.Url);

            if (urlParser.GetQueryParam("database") == databaseName)
            {
                shouldRedirect = false;
            }

            urlParser.SetQueryParam("database", databaseName);

            var server = ApplicationModel.Current.Server.Value;

            server.SetCurrentDatabase(urlParser);
            server.SelectedDatabase.Value.AsyncDatabaseCommands
            .EnsureSilverlightStartUpAsync()
            .Catch();

            View.UpdateAllFromServer();

            if (shouldRedirect)
            {
                UrlUtil.Navigate(urlParser.BuildUrl());
            }
        }
        public override void Execute(object parameter)
        {
            var urlParser = new UrlParser("/edit");
            var friendly  = (parameter as FriendlyDocument);

            if (friendly != null)
            {
                urlParser.SetQueryParam(friendly.IsProjection ? "projection" : "id", friendly.Id);

                if (friendly.NeighborsIds != null)
                {
                    urlParser.SetQueryParam("neighbors", string.Join(",", friendly.NeighborsIds));
                }
            }

            UrlUtil.Navigate(urlParser.BuildUrl());
        }
Beispiel #7
0
        public override Task TimerTickedAsync()
        {
            return(documentStore.AsyncDatabaseCommands.GetDatabaseNamesAsync(1024)
                   .ContinueOnSuccess(names =>
            {
                Databases.Match(defaultDatabase.Concat(names).ToArray());
                if (firstTick == false)
                {
                    return;
                }

                firstTick = false;

                ApplicationModel.Current.Server.Value.DocumentStore
                .AsyncDatabaseCommands
                .ForSystemDatabase()
                .GetAsync("Raven/StudioConfig")
                .ContinueOnSuccessInTheUIThread(doc =>
                {
                    if (doc != null && doc.DataAsJson.ContainsKey("WarnWhenUsingSystemDatabase"))
                    {
                        if (doc.DataAsJson.Value <bool>("WarnWhenUsingSystemDatabase") == false)
                        {
                            UrlUtil.Navigate("/documents");
                        }
                    }
                });

                var url = new UrlParser(UrlUtil.Url);

                if (url.QueryParams.ContainsKey("database") == false && (names.Length == 0 || (names.Length == 1 && names[0] == Constants.SystemDatabase)))
                {
                    CreateNewDatabase = true;
                }

                if (string.IsNullOrEmpty(Settings.Instance.SelectedDatabase))
                {
                    return;
                }

                if (Settings.Instance.SelectedDatabase != null && names.Contains(Settings.Instance.SelectedDatabase))
                {
                    if (url.QueryParams.ContainsKey("database") == false)
                    {
                        url.SetQueryParam("database", Settings.Instance.SelectedDatabase);
                        SetCurrentDatabase(url);
                    }

                    if (string.IsNullOrWhiteSpace(url.Path))
                    {
                        UrlUtil.Navigate(Settings.Instance.LastUrl);
                    }
                }
            })
                   .Catch());
        }
Beispiel #8
0
        private void NavigateToPage(int pageOffset)
        {
            var skip1 = Skip + pageOffset * PageSize;

            Skip = (short)skip1;

            if (IsSkipBasedOnTheUrl)
            {
                var urlParser = new UrlParser(UrlUtil.Url);
                urlParser.SetQueryParam("skip", Skip);
                UrlUtil.Navigate(urlParser.BuildUrl());
            }

            OnPagerChanged();
        }
Beispiel #9
0
        private void PutCollectionNameInTheUrl()
        {
            var urlParser  = new UrlParser(UrlUtil.Url);
            var collection = SelectedCollection.Value;

            if (collection == null)
            {
                return;
            }
            var name = collection.Name;

            initialSelectedDatabaseName = name;
            if (urlParser.GetQueryParam("name") != name)
            {
                urlParser.SetQueryParam("name", name);
                UrlUtil.Navigate(urlParser.BuildUrl());
            }
        }