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()); }
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) { 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) { 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()); } }
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()); } }
// EnsureDatabaseParameterIncluded private void ContentFrame_Navigating(object sender, NavigatingCancelEventArgs e) { if (navigationMode != NavigationMode.New) return; var urlParser = new UrlParser(e.Uri.ToString()); if (urlParser.GetQueryParam("database") != null) return; e.Cancel = true; navigationMode = NavigationMode.Refresh; urlParser.SetQueryParam("database", ApplicationModel.Current.Server.Value.SelectedDatabase.Value.Name); urlParser.NavigateTo(); navigationMode = NavigationMode.New; }
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(); if (shouldRedirect) { UrlUtil.Navigate(urlParser.BuildUrl()); } }
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()); } }
private void SelectDatabase(DatabaseModel database) { var urlParser = new UrlParser(UrlUtil.Url); urlParser.SetQueryParam("database", database.Name); urlParser.NavigateTo(); }
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(); }
public override Task TimerTickedAsync() { return documentStore.AsyncDatabaseCommands.GetDatabaseNamesAsync(1024) .ContinueOnSuccess(names => { Databases.Match(defaultDatabase.Concat(names).ToArray()); if (firstTick == false) return; firstTick = false; if (UserInfoSet == false) UpdateUserInfo(); if (UserInfo != null && UserInfo.IsAdminGlobal) { 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(); }
private void NavigateToPage(int pageOffset) { var skip1 = Skip + pageOffset*PageSize; Skip = (ushort) skip1; var urlParser = new UrlParser(UrlUtil.Url); urlParser.SetQueryParam("skip", Skip); UrlUtil.Navigate(urlParser.BuildUrl()); if (Navigated != null) Navigated(this, EventArgs.Empty); }
private void NavigateToPage(int pageOffset) { var urlParser = new UrlParser(UrlUtil.Url); urlParser.SetQueryParam("skip", skip + pageOffset * PageSize); urlParser.NavigateTo(); }
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") .ContinueWith(task => { if (task.IsFaulted == false) { Execute.OnTheUI(() => { if (task.Result != null && task.Result.DataAsJson.ContainsKey("WarnWhenUsingSystemDatabase")) { if (task.Result.DataAsJson.Value<bool>("WarnWhenUsingSystemDatabase") == false) UrlUtil.Navigate("/documents"); } }); } else { GC.KeepAlive(task.Exception); // ignoring the exeption } }); 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(); }
public override Task TimerTickedAsync() { if(IsConnected.Value == false) { DocumentStore.AsyncDatabaseCommands .GetStatisticsAsync() .ContinueOnSuccess(stats => { IsConnected.Value = true; var url = UrlUtil.Url; SelectedDatabase.Value = new DatabaseModel(Constants.SystemDatabase, documentStore); Initialize(); SetCurrentDatabase(new UrlParser(url)); }); } if (singleTenant) return null; //if (SelectedDatabase.Value.HasReplication) // SelectedDatabase.Value.UpdateReplicationOnlineStatus(); 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 .ForDefaultDatabase() .GetAsync("Raven/StudioConfig") .ContinueOnSuccessInTheUIThread(doc => { if (doc != null && doc.DataAsJson.ContainsKey("WarnWhenUsingSystemDatabase")) { if (doc.DataAsJson.Value<bool>("WarnWhenUsingSystemDatabase") == false) UrlUtil.Navigate("/documents"); } }); if (names.Length == 0 || (names.Length == 1 && names[0] == Constants.SystemDatabase)) CreateNewDatabase = true; if (string.IsNullOrEmpty(Settings.Instance.SelectedDatabase)) return; var url = new UrlParser(UrlUtil.Url); 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(); }