コード例 #1
0
        public void WhenAcceptingConfirmationToNavigateAway_ThenInvokesRequestCallbackWithTrue()
        {
            var emailServiceMock = new Mock <IEmailService>();

            var viewModel = new ComposeEmailViewModel(emailServiceMock.Object);
            var uriQuery  = new UriQuery();

            uriQuery.Add("To", "*****@*****.**");
            ((INavigationAware)viewModel).OnNavigatedTo(new NavigationContext(new Mock <IRegionNavigationService>().Object, new Uri("" + uriQuery.ToString(), UriKind.Relative)));

            InteractionRequestedEventArgs args = null;

            viewModel.ConfirmExitInteractionRequest.Raised += (s, e) => args = e;

            bool?callbackResult = null;

            ((IConfirmNavigationRequest)viewModel).ConfirmNavigationRequest(
                new NavigationContext(new Mock <IRegionNavigationService>().Object, new Uri("some uri", UriKind.Relative)),
                b => callbackResult = b);

            var confirmation = args.Context as Confirmation;

            confirmation.Confirmed = true;

            args.Callback();

            Assert.IsTrue(callbackResult.Value);
        }
コード例 #2
0
        public override string ToString()
        {
            UriQuery query = new UriQuery(BaseUrl);

            query.Add("api_key", ApiKey);
            query.Add("format", "json");

            if (!string.IsNullOrEmpty(Id))
            {
                query.Add("id", Id);
            }

            if (!string.IsNullOrEmpty(Md5))
            {
                query.Add("md5", Md5);
            }

            if (Bucket.HasValue)
            {
                foreach (var bucket in Bucket.Value.GetBucketDescriptions())
                {
                    query.Add("bucket", bucket);
                }
            }

            return(query.ToString());
        }
コード例 #3
0
        public void WhenRequestedForVetoOnNavigationAfterSubmitting_ThenDoesNotRaiseInteractionRequest()
        {
            var emailServiceMock = new Mock <IEmailService>();

            var viewModel = new ComposeEmailViewModel(emailServiceMock.Object);
            var uriQuery  = new UriQuery();

            uriQuery.Add("To", "*****@*****.**");
            ((INavigationAware)viewModel).OnNavigatedTo(new NavigationContext(new Mock <IRegionNavigationService>().Object, new Uri("" + uriQuery.ToString(), UriKind.Relative)));

            InteractionRequestedEventArgs args = null;

            viewModel.ConfirmExitInteractionRequest.Raised += (s, e) => args = e;

            viewModel.SendEmailCommand.Execute(null);

            bool?callbackResult = null;

            ((IConfirmNavigationRequest)viewModel).ConfirmNavigationRequest(
                new NavigationContext(new Mock <IRegionNavigationService>().Object, new Uri("some uri", UriKind.Relative)),
                b => callbackResult = b);

            Assert.IsNull(args);
            Assert.IsTrue(callbackResult.Value);
        }
コード例 #4
0
        public override string ToString()
        {
            UriQuery query = new UriQuery(BaseUrl);
            query.Add("api_key", ApiKey);
            query.Add("format", "json");

            if (!string.IsNullOrEmpty(Id))
            {
                query.Add("id", Id);
            }

            if (!string.IsNullOrEmpty(TrackId))
            {
                query.Add("track_id", TrackId);
            }

            if (Bucket.HasValue)
            {
                foreach (var bucket in Bucket.Value.GetBucketDescriptions())
                {
                    query.Add("bucket", bucket);
                }
            }

            if (Limit.HasValue)
            {
                query.Add("limit", Limit.Value.ToString().ToLower());
            }

            return query.ToString();
        }
コード例 #5
0
        public void NavigateToPolicyDetail(int policyId)
        {
            var query = new UriQuery();

            AddPolicyIdParameter(query, policyId);
            OpenView(ViewContractNames.POLICY_DETAIL_VIEW, query);
        }
コード例 #6
0
        private UriQuery GetQuery()
        {
            UriQuery query = Build(Url)
                             .Add("api_key", ApiKey);

            return(query);
        }
コード例 #7
0
        public void NavigateToClaimList(int policyId)
        {
            var query = new UriQuery();

            this.AddPolicyIdParameter(query, policyId);
            navigationService.OpenView(ViewContractNames.CLAIM_LIST_VIEW, query, RegionNames.POLICY_DETAIL_REGION);
        }
コード例 #8
0
        public override void DialogCommand()
        {
            var visualStudioService = ApplicationController.ResolveType(typeof(IVisualStudioService)) as IVisualStudioService;

            if (visualStudioService == null)
            {
                throw new NullReferenceException("visualStudioService");
            }

            var packageSettings = ApplicationController.ResolveType(typeof(XrmPackageSettings)) as XrmPackageSettings;

            if (packageSettings == null)
            {
                throw new NullReferenceException("packageSettings");
            }
            if (packageSettings.Solution == null)
            {
                throw new NullReferenceException("Solution is not populated in the package settings");
            }

            //WARNING THIS FOLDER IS CLEARED BEFORE PROCESSING SO CAREFUL IF CHANGE DIRECTORY
            var folderPath = visualStudioService.SolutionDirectory + "/TempSolutionFolder";
            var request    = CreatePackageRequest.CreateForCreatePackage(folderPath, packageSettings.Solution);

            var uri = new UriQuery();

            uri.AddObject(nameof(CreatePackageDialog.Request), request);
            ApplicationController.NavigateTo(typeof(VsixCreatePackageDialog), uri);
        }
コード例 #9
0
        private async void LoginCommandExecuteAsync(object obj)
        {
            await _authenticationRepository.PostAuthorizationAsync(User);

            if (_authenticationRepository.Authentic.IsAuthorised)
            {
                UriQuery query = new UriQuery();
                NavigatePatameters.Save(_authenticationRepository.Authentic.GetHashCode(), _authenticationRepository.Authentic);
                query.Add("authenticationhash", _authenticationRepository.Authentic.GetHashCode().ToString());

                Application.Current.Dispatcher.Invoke(new System.Action(() =>
                {
                    var regionManager = ServiceLocator.Current.GetInstance <IRegionManager>();
                    regionManager.RequestNavigate("MainRegion", new Uri("ServerView" + query.ToString(), UriKind.Relative), nr =>
                    {
                        if (nr.Result.HasValue && nr.Result == false)
                        {
                            var error = nr.Error;
                        }
                    });
                }));
            }
            else
            {
                MessageBox.Show("Unable to authenticate!", "Authorization error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
コード例 #10
0
        public static void RunWizardSettingsEntry(XrmPackageSettings packageSettings, VsixApplicationController applicationController, string solutionName)
        {
            //ensure the package settings resolves when the app settings dialog runs
            var resolvePackageSettings = applicationController.ResolveType(typeof(XrmPackageSettings));

            if (resolvePackageSettings == null)
            {
                applicationController.RegisterInstance(typeof(XrmPackageSettings), new XrmPackageSettings());
            }

            if (solutionName != null && string.IsNullOrWhiteSpace(packageSettings.SolutionObjectPrefix))
            {
                packageSettings.SolutionObjectPrefix = solutionName.Split('.').First();
            }

            var serviceFactory = applicationController.ResolveType <IOrganizationConnectionFactory>();
            var recordService  = new XrmRecordService(new XrmRecordConfiguration(), serviceFactory, formService: new XrmFormService());
            var settingsDialog = new XrmPackageSettingsDialog(new DialogController(applicationController), packageSettings, null, recordService, saveButtonLabel: "Next");

            settingsDialog.SaveSettings = false;
            var uriQuery = new UriQuery();

            uriQuery.Add("Modal", true.ToString());
            applicationController.NavigateTo(settingsDialog, uriQuery, showCompletionScreen: false, isModal: true);
        }
コード例 #11
0
 /// <summary>
 /// Navigates to active view.
 /// </summary>
 /// <param name="regionManager">The region manager.</param>
 /// <param name="regionName">Name of the region.</param>
 /// <param name="uriQuery">The URI query.</param>
 /// <param name="navigationCallback">The navigation callback.</param>
 public static void NavigateToActiveView(
     this IRegionManager regionManager, string regionName, UriQuery uriQuery, Action <NavigationResult> navigationCallback = null)
 {
     if (regionManager.Regions.ContainsRegionWithName(regionName) && regionManager.Regions[regionName].ActiveViews.Count() > 0)
     {
         var region = regionManager.Regions[regionName];
         var view   = region.ActiveViews.ElementAt(0) as FrameworkElement;
         var navigationAwareDataContext = view.DataContext as INavigationAware;
         navigationAwareDataContext.OnNavigatedTo(
             new NavigationContext(region.NavigationService, new Uri(uriQuery.ToString(), UriKind.Relative)));
         if (navigationCallback != null)
         {
             navigationCallback(
                 new NavigationResult(new NavigationContext(null, new Uri(uriQuery.ToString(), UriKind.Relative)), true));
         }
     }
     else
     {
         if (navigationCallback != null)
         {
             navigationCallback(
                 new NavigationResult(new NavigationContext(null, new Uri(uriQuery.ToString(), UriKind.Relative)), false));
         }
     }
 }
コード例 #12
0
        private void ExecuteGoToArtist(string artistName)
        {
            UriQuery q = new UriQuery();

            q.Add("artistName", artistName);
            RegionManager.RequestNavigate(AppRegions.ViewRegion, typeof(ArtistView).FullName + q);
        }
コード例 #13
0
        /// <summary>
        /// Получение ключей ресурсов по запросу.
        /// </summary>
        /// <param name="name">Имя ресурса.</param>
        /// <param name="query">Запрос.</param>
        /// <param name="nmspace">Область запросов.</param>
        /// <returns>Ключи ресурсов.</returns>
        public IEnumerable <Guid> Query(string name, UriQuery query, string nmspace = "")
        {
            CheckInitialization();
            var type = _registrationStorage[name].ResourceType;

            return(GetResourcesCommon(type, nmspace, query));
        }
コード例 #14
0
        public void UnescapesQueryElements()
        {
            var query = new UriQuery("?a%3F=b%40");

            Assert.AreEqual(1, query.Count());
            Assert.AreEqual("b@", query["a?"]);
        }
コード例 #15
0
        public void EscapesQueryElements()
        {
            var query = new UriQuery();
            query.Add("a?", "b@");

            Assert.AreEqual("?a%3F=b%40", query.ToString());
        }
コード例 #16
0
        public override string ToString()
        {
            UriQuery query = new UriQuery(BaseUrl);

            query.Add("api_key", ApiKey);
            query.Add("format", "json");

            if (!string.IsNullOrEmpty(Name))
            {
                query.Add("name", Name);
            }

            if (Bucket.HasValue)
            {
                foreach (var bucket in Bucket.Value.GetBucketDescriptions())
                {
                    query.Add("bucket", bucket);
                }
            }

            if (Limit.HasValue)
            {
                query.Add("limit", Limit.Value.ToString().ToLower());
            }

            return(query.ToString());
        }
コード例 #17
0
        public void UnescapesQueryElements()
        {
            var query = new UriQuery("?a%3F=b%40");

            Assert.AreEqual(1, query.Count());
            Assert.AreEqual("b@", query["a?"]);
        }
コード例 #18
0
 /// <summary>
 /// Navigates to active view.
 /// </summary>
 /// <param name="regionManager">The region manager.</param>
 /// <param name="regionName">Name of the region.</param>
 /// <param name="uriQuery">The URI query.</param>
 /// <param name="navigationCallback">The navigation callback.</param>
 public static void NavigateToActiveView(
     this IRegionManager regionManager, string regionName, UriQuery uriQuery, Action<NavigationResult> navigationCallback = null )
 {
     if ( regionManager.Regions.ContainsRegionWithName ( regionName ) && regionManager.Regions[regionName].ActiveViews.Count () > 0 )
     {
         var region = regionManager.Regions[regionName];
         var view = region.ActiveViews.ElementAt ( 0 ) as FrameworkElement;
         var navigationAwareDataContext = view.DataContext as INavigationAware;
         navigationAwareDataContext.OnNavigatedTo (
             new NavigationContext ( region.NavigationService, new Uri ( uriQuery.ToString (), UriKind.Relative ) ) );
         if ( navigationCallback != null )
         {
             navigationCallback (
                 new NavigationResult ( new NavigationContext ( null, new Uri ( uriQuery.ToString (), UriKind.Relative ) ), true ) );
         }
     }
     else
     {
         if ( navigationCallback != null )
         {
             navigationCallback (
                 new NavigationResult ( new NavigationContext ( null, new Uri ( uriQuery.ToString (), UriKind.Relative ) ), false ) );
         }
     }
 }
コード例 #19
0
ファイル: ViewModel.cs プロジェクト: uhavemyword/CP.NLayer
        public void ExecutePopupCommand()
        {
            var uri = new UriQuery();

            uri.Add("title", "Popup Window Header");
            _interactionService.ShowPopupView(typeof(Popup.View), uri);
        }
コード例 #20
0
ファイル: PopupService.cs プロジェクト: girish66/REM
        /// <summary>
        /// Shows the popup.
        /// </summary>
        /// <param name="viewName">Name of the view.</param>
        /// <param name="commandName">Name of the command.</param>
        /// <param name="title">The title.</param>
        /// <param name="parameters">The parameters.</param>
        /// <param name="maximize">If set to <c>true</c> [maximize].</param>
        /// <param name="completedAction">The completed action.</param>
        /// <param name="isModal">If set to <c>true</c> [is modal].</param>
        public void ShowPopup(
            string viewName,
            string commandName = null,
            string title       = null,
            KeyValuePair <string, string>[] parameters = null,
            bool maximize          = false,
            Action completedAction = null,
            bool isModal           = true)
        {
            var uriQuery = new UriQuery();

            if (commandName != null)
            {
                uriQuery.Add("CommandName", commandName);
            }
            if (parameters != null)
            {
                foreach (var parameter in parameters)
                {
                    uriQuery.Add(parameter.Key, parameter.Value);
                }
            }

            ShowPopup(viewName, new Uri(viewName + uriQuery, UriKind.Relative), title, completedAction ?? (() => { }), maximize, isModal);
        }
コード例 #21
0
        /// <summary>
        /// Executes the navigate back.
        /// </summary>
        private void ExecuteNavigateBack()
        {
            var q = new UriQuery();

            q.Add("TabIndex", "1");
            RegionManager.RequestNavigate(RegionNames.MainContent, new Uri(ViewNames.MainDataSetView + q, UriKind.Relative));
        }
コード例 #22
0
        public void NavigateTo(object navigationObject, UriQuery uriQuery, bool showCompletionScreen = true, bool isModal = false)
        {
            uriQuery = uriQuery ?? new UriQuery();

            if (navigationObject is DialogViewModel)
            {
                var dialog = navigationObject as DialogViewModel;
                foreach (var arg in uriQuery.Arguments)
                {
                    var dialogProperty = dialog.GetType().GetProperty(arg.Key);
                    if (dialogProperty != null)
                    {
                        if (dialogProperty.PropertyType == typeof(bool))
                        {
                            dialog.SetPropertyValue(dialogProperty.Name, bool.Parse(arg.Value));
                        }
                        else
                        {
                            var argObject     = JsonHelper.JsonStringToObject(arg.Value, dialogProperty.PropertyType);
                            var propertyValue = dialog.GetPropertyValue(dialogProperty.Name) ?? argObject;
                            var mapper        = new ClassSelfMapper();
                            mapper.Map(argObject, propertyValue);
                        }
                    }
                }

                LoadDialog(dialog, showCompletionScreen: showCompletionScreen, isModal: isModal);
            }
            else
            {
                throw new NotImplementedException("Not implemented for type " + navigationObject?.GetType().Name);
            }
        }
コード例 #23
0
        public void FlattensQueryWithSingleElement()
        {
            var query = new UriQuery();
            query.Add("a", "b");

            Assert.AreEqual("?a=b", query.ToString());
        }
コード例 #24
0
        public override void DialogCommand()
        {
            var visualStudioService = ApplicationController.ResolveType(typeof(IVisualStudioService)) as IVisualStudioService;

            if (visualStudioService == null)
            {
                throw new NullReferenceException("visualStudioService");
            }

            var files = visualStudioService.GetSelectedFileNamesQualified();

            var request = new ImportCsvsRequest()
            {
                FolderOrFiles = ImportCsvsRequest.CsvImportOption.SpecificFiles,
                MatchByName   = true,
                DateFormat    = DateFormat.English,
                CsvsToImport  = files.Select(f => new ImportCsvsRequest.CsvToImport()
                {
                    Csv = new FileReference(f)
                }).ToArray()
            };

            var uri = new UriQuery();

            uri.AddObject(nameof(ImportCsvsDialog.Request), request);
            uri.AddObject(nameof(ImportCsvsDialog.SkipObjectEntry), true);
            ApplicationController.NavigateTo(typeof(ImportCsvsDialog), uri);
        }
コード例 #25
0
        public override string ToString()
        {
            UriQuery query = new UriQuery(BaseUrl);
            query.Add("api_key", ApiKey);
            query.Add("format", "json");

            if (!string.IsNullOrEmpty(Id))
            {
                query.Add("id", Id);
            }

            if (!string.IsNullOrEmpty(Md5))
            {
                query.Add("md5", Md5);
            }
            
            if (Bucket.HasValue)
            {
                foreach (var bucket in Bucket.Value.GetBucketDescriptions())
                {
                    query.Add("bucket", bucket);
                }
            }

            return query.ToString();
        }
コード例 #26
0
ファイル: QueryCommand.cs プロジェクト: kayanme/Dataspace
 public QueryCommand(string nodeName, string resName)
 {
     _query = new UriQuery {
         { "Node", nodeName }
     };
     TargetName = resName;
 }
コード例 #27
0
        public override void DialogCommand()
        {
            var visualStudioService = ApplicationController.ResolveType(typeof(IVisualStudioService)) as IVisualStudioService;

            if (visualStudioService == null)
            {
                throw new NullReferenceException("visualStudioService");
            }
            var selectedItems = visualStudioService.GetSelectedFileNamesQualified();

            if (selectedItems.Count() != 1)
            {
                ApplicationController.UserMessage("Only one file may be selected to import");
                return;
            }

            var request = new ImportSolutionRequest()
            {
                SolutionZip = new FileReference(selectedItems.First())
            };
            var uri = new UriQuery();

            uri.AddObject(nameof(ImportSolutionDialog.Request), request);
            ApplicationController.RequestNavigate("Main", typeof(ImportSolutionDialog), uri);
        }
コード例 #28
0
        private void ExecuteNewWebsiteCommand()
        {
            var q = new UriQuery {
                { "WebsiteId", "-1" }
            };

            RegionManager.RequestNavigate(RegionNames.MainContent, new Uri(ViewNames.WebsiteManageView + q, UriKind.Relative));
        }
コード例 #29
0
ファイル: Image.cs プロジェクト: Irena28/TopTastic.net
        public Task <ImageResponse> ExecuteAsync(string name, int numberOfResults = 10, int start = 0, string license = null)
        {
            UriQuery query = GetQuery(numberOfResults, start, license);

            query.Add("name", name);

            return(ExecuteAsync <ImageResponse>(query.ToString()));
        }
コード例 #30
0
ファイル: Image.cs プロジェクト: Irena28/TopTastic.net
        public ImageResponse Execute(IdSpace id, int numberOfResults = 10, int start = 0, string license = null)
        {
            UriQuery query = GetQuery(numberOfResults, start, license);

            query.Add("id", id);

            return(Execute <ImageResponse>(query.ToString()));
        }
コード例 #31
0
        private void ExecuteGoToAlbum(Track track)
        {
            UriQuery q = new UriQuery();

            q.Add("artistName", track.Artist);
            q.Add("albumName", track.Album);
            RegionManager.RequestNavigate(AppRegions.ViewRegion, typeof(AlbumView).FullName + q);
        }
コード例 #32
0
ファイル: LoginVM.cs プロジェクト: shivang104/Assignment
        public void GoToDashboard()
        {
            var uriQuery = new UriQuery();

            var uri = new Uri(typeof(DashboardView).FullName + uriQuery, UriKind.Relative);

            _regionManager.RequestNavigate("ContentRegion", uri);
        }
コード例 #33
0
        public void CanParseQuery()
        {
            var query = new UriQuery("?a=b&c=d");

            Assert.AreEqual(2, query.Count());
            Assert.AreEqual("b", query["a"]);
            Assert.AreEqual("d", query["c"]);
        }
コード例 #34
0
        private void NavigateBack()
        {
            var q = new UriQuery {
                { "TabIndex", "3" }
            };

            RegionManager.RequestNavigate(RegionNames.MainContent, new Uri(ViewNames.MainDataSetView + q, UriKind.Relative));
        }
コード例 #35
0
ファイル: LoginVM.cs プロジェクト: shivang104/Assignment
        public void NextScreen()
        {
            var uriQuery = new UriQuery();

            var uri = new Uri(typeof(RegisterView).FullName + uriQuery, UriKind.Relative);

            _regionManager.RequestNavigate("ContentRegion", uri);
        }
コード例 #36
0
        public void OpenView(string targetName, UriQuery uriQuery)
        {
            var builder = new StringBuilder();

            builder.Append(targetName);
            builder.Append(uriQuery);
            regionManager.Regions[RegionNames.POLICY_DETAIL_REGION].RequestNavigate(builder.ToString());
        }
コード例 #37
0
        public void FlattensQueryWithMultipleElements()
        {
            var query = new UriQuery();
            query.Add("a", "b");
            query.Add("b", "c");

            Assert.AreEqual("?a=b&b=c", query.ToString());
        }
コード例 #38
0
        private void RequestNavigate(Type type, UriQuery uriQuery)
        {
            ClearTabs();

            var resolvedType = Container.ResolveType(type);

            _loadedObjects.Add(resolvedType);
        }
コード例 #39
0
 public static object[] Decipher(this IRegionManager regionManager, UriQuery parameters, params Type[] types)
 {
     var list = new List<object>();
     for (int i = 0; i < parameters.Count(); i++)
     {
         list.Add(Deserialize(parameters[i.ToString()].DecompressString(), types[i]));
     }
     return list.ToArray();
 }
コード例 #40
0
ファイル: EchoNestHelpers.cs プロジェクト: torshy/TRock.Music
            public static dynamic Create(string apiKey, dynamic options)
            {
                var query = new UriQuery(Uri.AbsoluteUri + "create")
                {
                    { "api_key", apiKey }
                };

                return ExecuteQuery(options, query).Result;
            }
コード例 #41
0
        public override string ToString()
        {
            UriQuery query = new UriQuery(BaseUrl);
            query.Add("api_key", ApiKey);
            query.Add("format", "json");

            if (!string.IsNullOrEmpty(Text))
            {
                query.Add("text", Text);
            }

            if (Bucket.HasValue)
            {
                foreach (var bucket in Bucket.Value.GetBucketDescriptions())
                {
                    query.Add("bucket", bucket);
                }
            }

            if (Limit.HasValue)
            {
                query.Add("limit", Limit.Value);
            }

            if (MaxFamiliarity.HasValue)
            {
                query.Add("max_familiarity", MaxFamiliarity.Value);
            }

            if (MinFamiliarity.HasValue)
            {
                query.Add("min_familiarity", MinFamiliarity.Value);
            }

            if (MaxHotttnesss.HasValue)
            {
                query.Add("max_hotttnesss", MaxHotttnesss.Value);
            }

            if (MinHotttnesss.HasValue)
            {
                query.Add("min_hotttnesss", MinHotttnesss.Value);
            }

            if (Results.HasValue)
            {
                query.Add("results", Results.Value);
            }

            if (Sort.HasValue)
            {
                query.Add("sort", EnumHelpers.GetDescription(Sort.Value));
            }

            return query.ToString();
        }
コード例 #42
0
 private void ExecuteBrowseForAlbum(Tuple<string, string> parameter)
 {
     if (!string.IsNullOrEmpty(parameter.Item1) && !string.IsNullOrEmpty(parameter.Item2))
     {
         UriQuery query = new UriQuery();
         query.Add("artistName", parameter.Item1);
         query.Add("albumName", parameter.Item2);
         _regionManager.RequestNavigate(AppRegions.ViewRegion, typeof(AlbumView).FullName + query);
     }
 }
コード例 #43
0
 public void NavigateTo(string regionName, string viewExportName, Dictionary<string, string> queryParams)
 {
     if (queryParams.Any())
     {
         var query = new UriQuery();
         foreach(var param in queryParams)
             query.Add(param.Key, param.Value);
         _regionManager.RequestNavigate(regionName, new Uri(viewExportName + query, UriKind.Relative));
     }
     else _regionManager.RequestNavigate(regionName, new Uri(viewExportName, UriKind.Relative));
 }
コード例 #44
0
 private void SyncView( string id )
 {
     // Navigate to the DetailsView, passing the item ID as a navigation parameter.
     // Only one DetailView instance is created. This instance is activated and
     // updated to display the details of the specified item.
     UriQuery parameters = new UriQuery();
     parameters.Add( "ID", id );
     _regionManager.RequestNavigate( RegionNames.MainRegion,
                                     new Uri( "DetailsView" + parameters.ToString(), UriKind.Relative ),
                                     NavigationCompleted );
 }
コード例 #45
0
 private void NavigateToView( string id )
 {
     // Navigate to the EditView, passing the item ID as a navigation parameter.
     // A new EditView instance is created for each item. If an EditView instance
     // for a particular item already exists, it is activated.
     UriQuery parameters = new UriQuery();
     parameters.Add( "ID", id );
     _regionManager.RequestNavigate( RegionNames.MainRegion,
                                     new Uri( "EditView" + parameters.ToString(), UriKind.Relative ),
                                     NavigationCompleted );
 }
コード例 #46
0
        public void WhenNavigatedToWithAToQueryParameter_ThenInitializesToField()
        {
            var emailServiceMock = new Mock<IEmailService>();

            var viewModel = new ComposeEmailViewModel(emailServiceMock.Object);
            var uriQuery = new UriQuery();
            uriQuery.Add("To", "*****@*****.**");
            ((INavigationAware)viewModel).OnNavigatedTo(new NavigationContext(new Mock<IRegionNavigationService>().Object, new Uri("" + uriQuery.ToString(), UriKind.Relative)));

            Assert.AreEqual("*****@*****.**", viewModel.EmailDocument.To);
        }
コード例 #47
0
        private void EmailContact(object ignored)
        {
            var uriQuery = new UriQuery();
            var contact = this.contactsView.CurrentItem as Contact;
            if (contact != null && !string.IsNullOrEmpty(contact.EmailAddress))
            {
                uriQuery.Add(ToQueryItemName, contact.EmailAddress);
            }

            var uri = new Uri(ComposeEmailViewName + uriQuery.ToString(), UriKind.Relative);
            this.regionManager.RequestNavigate(RegionNames.MainContentRegion, uri, nr => { });
        }
コード例 #48
0
        protected UriQuery GetUriQuery()
        {
            UriQuery query = new UriQuery(BaseUrl);
            query.Add("api_key", ApiKey);
            query.Add("format", "json");

            if (!string.IsNullOrEmpty(SessionId))
            {
                query.Add("session_id", SessionId);
            }

            return query;
        }
コード例 #49
0
ファイル: ViewOrchestrator.cs プロジェクト: ynosa/KanbanBoard
        public void ChangeView(string regionName, string viewName, params string[] args)
        {
            UriQuery query = new UriQuery();

            foreach (var item in args)
            {
                var splited = item.Split(':');
                if (splited.Length > 1)
                    query.Add(splited[0], splited[1]);
            }

            regionManager.RequestNavigate(regionName, new Uri(viewName + query.ToString(), System.UriKind.Relative));
        }
コード例 #50
0
        public void NavigateTo(string region, string view, IDictionary<string, string> parameters)
        {
            IRegionManager regionManger = ServiceLocator.Current.GetInstance<IRegionManager>();

            var uriQuery = new UriQuery();
            foreach (KeyValuePair<string, string> parameter in parameters)
            {
                uriQuery.Add(parameter.Key, parameter.Value);
            }

            Uri uri = new Uri(view + uriQuery.ToString(), UriKind.Relative);

            regionManger.RequestNavigate(region, uri);
        }
コード例 #51
0
        public void WhenNavigatedToWithAReplyToQueryParameter_ThenRepliesToTheAppropriateMessage()
        {
            var replyToEmail = new EmailDocument { From = "*****@*****.**", To = "", Subject = "", Text = "" };

            var emailServiceMock = new Mock<IEmailService>();
            emailServiceMock
                .Setup(svc => svc.GetEmailDocument(replyToEmail.Id))
                .Returns(replyToEmail);

            var viewModel = new ComposeEmailViewModel(emailServiceMock.Object);
            var uriQuery = new UriQuery();
            uriQuery.Add("ReplyTo", replyToEmail.Id.ToString("N"));
            ((INavigationAware)viewModel).OnNavigatedTo(new NavigationContext(new Mock<IRegionNavigationService>().Object, new Uri("" + uriQuery.ToString(), UriKind.Relative)));

            Assert.AreEqual("*****@*****.**", viewModel.EmailDocument.To);
        }
コード例 #52
0
        private string CreateNavigationPath(string navItemName)
        {
            UriQuery query = new UriQuery();
            query.Add(Names.NavKey, navItemName);
            
            switch (navItemName) 
            {
            	case Names.NavItem1:
            		return typeof(View1).FullName + query;
            	case Names.NavItem2:
            		return typeof(View2).FullName + query;
            	default:
            		return null;
            }
		
		}			
コード例 #53
0
        public static void RequestNavigateWithParameters(this IRegionManager regionManager, string regionName,
                                                         string source, params object[] parameters)
        {
            var query = new UriQuery();
            var i = 0;
            foreach (var parameter in parameters)
            {
                query.Add(i.ToString(), Serialize(parameter).CompressString());
                i++;
            }


            regionManager.RequestNavigate(regionName, new Uri(source + query, UriKind.Relative), result =>
            {

            });
        }
コード例 #54
0
ファイル: ProcessorQuery.cs プロジェクト: kayanme/Dataspace
 public ProcessorQuery(HierarchyQuery query)
 {
     if (query != null)
     {
         LeftDepth = query.AreaDepth == 0?-1:query.AreaDepth;
         RemainingElemens = (query.RequiredElemens??new Guid[0]).ToList();
         MaxItems = query.MaxItems == 0 ? int.MaxValue : query.MaxItems;
         if (query.Query!=null)
            Query = new UriQuery(query.Query);
     }
     else
     {
         LeftDepth = -1;
         RemainingElemens = new List<Guid>();
         MaxItems = int.MaxValue;
       
     }
 }
コード例 #55
0
        public void NavigateToUri(NavigationItem item)
        {
            UriQuery query = new UriQuery();
            eventAggregator.GetEvent<ProgressChanged>().Publish(ProgressStatus.Start);

            Shared.SetReceiptNavigation(item);
            if (item.ReceiptID > 0)
            {
                query.Add("BatchType", item.BatchTypeID.ToString());
                query.Add("BatchID", item.ReceiptID.ToString());
                regionManager.RequestNavigate(Regions.ContentRegion, new Uri("/ReceiptsSummary" + query.ToString(), UriKind.Relative));
                
            }
            else
            {
                query.Add("BatchMonth", item.ReceiptText);                
                regionManager.RequestNavigate(Regions.ContentRegion, new Uri("/ReceiptsBatchSummary" + query.ToString(), UriKind.Relative));            
            }
            
            eventAggregator.GetEvent<ProgressChanged>().Publish(ProgressStatus.Stop);
        }
コード例 #56
0
ファイル: NavigationService.cs プロジェクト: divyang4481/REM
        /// <summary>
        /// Navigates the specified region manager.
        /// </summary>
        /// <param name="regionManager">The region manager.</param>
        /// <param name="regionName">Name of the region.</param>
        /// <param name="viewName">Name of the view.</param>
        /// <param name="commandName">Name of the command.</param>
        /// <param name="parameters">The parameters.</param>
        public void Navigate(
            IRegionManager regionManager,
            string regionName,
            string viewName,
            string commandName = null,
            params KeyValuePair<string, string>[] parameters )
        {
            var uriQuery = new UriQuery ();
            if ( commandName != null )
            {
                uriQuery.Add ( "CommandName", commandName );
            }
            foreach ( var parameter in parameters.Where ( parameter => parameter.Value != null ) )
            {
                uriQuery.Add ( parameter.Key, parameter.Value );
            }

            var uri = new Uri ( viewName + uriQuery, UriKind.Relative );

            regionManager.RequestNavigate ( regionName, uri, NavigationCallBack );
        }
コード例 #57
0
ファイル: EchoNestHelpers.cs プロジェクト: torshy/TRock.Music
        public static Task<dynamic> ExecuteQuery(dynamic options, UriQuery query)
        {
            foreach (string option in options)
            {
                if (options[option].HasValue)
                {
                    if (options[option].Value is IEnumerable<string>)
                    {
                        foreach (var value in ((IEnumerable<string>)options[option].Value))
                        {
                            query.Add(option, value);
                        }
                    }
                    else
                    {
                        query.Add(option, options[option].ToString());
                    }
                }
            }

            var client = new HttpClient
            {
                Timeout = TimeSpan.FromSeconds(5)
            };

            return client
                .GetStringAsync(query.ToString())
                .ContinueWith(task =>
                {
                    if (task.IsFaulted)
                    {
                        Trace.WriteLine((object)task.Exception);
                        return null;
                    }

                    return JsonConvert.DeserializeObject<dynamic>(task.Result);
                });
        }
コード例 #58
0
ファイル: NavigationManager.cs プロジェクト: WELL-E/origin
        /// <summary>
        /// Build up a Uri string based on the <see cref="NavigationSettings"/> argument,
        /// assign it a navigation id and store as a key value pair in the navigation settings list. 
        /// Then navigate to that view using the navigation id.
        /// </summary>
        /// <param name="navigationSettings">
        /// <see cref="NavigationSettings"/> contains information about the target view 
        /// such as the view type, view title, parameters and navigation history.
        /// </param>
        public void NavigateDocumentRegion(NavigationSettings navigationSettings)
        {
            if (String.IsNullOrEmpty(navigationSettings.View))
            {
                throw new Exception("Navigation Manager Exception : Target view not specified.");
            }

            var query = new UriQuery();
            query.Add("Title", navigationSettings.Title ?? navigationSettings.View);
            query.Add("Navigation", navigationSettings.NavigationHistory ?? String.Empty);

            string partialUri = navigationSettings.View + query.ToString();
            navigationSettings.PartialUri = partialUri;
            var navigationSettingsClone = (NavigationSettings)navigationSettings.Clone();
            string navigationId = String.Empty;
            lock (lockNavigationList)
            {
                var existingNavigationSetting = navigationSettingsList.Values.FirstOrDefault(
                    ns => ns.PartialUri.Equals(partialUri) 
                        && (ns.Data == null || ns.Data.Equals(navigationSettings.Data)));
                if (existingNavigationSetting != null)
                {
                    navigationId = existingNavigationSetting.NavigationId;
                }
                else
                {
                    navigationId = GetNewNavigationSettingsListKey();
                    query.Add("NavigationId", navigationId);
                    var viewUri = navigationSettings.View + query.ToString();
                    navigationSettingsClone.NavigationId = navigationId;
                    navigationSettingsClone.ViewUri = viewUri;
                    navigationSettingsList.Add(navigationId, navigationSettingsClone);
                }
            }

            NavigateDocumentRegion(navigationId); 
        }
コード例 #59
0
ファイル: IGenericPool.cs プロジェクト: kayanme/Dataspace
 public IEnumerable<Guid> Query(string name, UriQuery query, string nmspace = "")
 {
     Contract.Requires(!string.IsNullOrEmpty(nmspace));
     Contract.Requires(!string.IsNullOrEmpty(name));
     Contract.Requires(query!=null);
     Contract.Ensures(Contract.Result<IEnumerable<Guid>>() != null);
     return null;
 }
コード例 #60
0
ファイル: CalendarViewModel.cs プロジェクト: eslahi/prism
 private void OpenMeetingEmail(Meeting meeting)
 {
     // todo: 12 - Opening an email
     //
     // This view initiates navigation using the RegionManager.
     // The RegionManager will find the region and delegate the
     // navigation request to the region specified.
     //
     // This navigation request also includes additional navigation context, an 'EmailId', to
     // allow the Email view to orient to the right item.  The navigation request and context
     // is built using a UriQuery that helps build the request.
     var builder = new StringBuilder();
     builder.Append(EmailViewName);
     var query = new UriQuery();
     query.Add(EmailIdName, meeting.EmailId.ToString(GuidNumericFormatSpecifier));
     builder.Append(query);
     this.regionManager.RequestNavigate(RegionNames.MainContentRegion, new Uri(builder.ToString(), UriKind.Relative));
 }