public SaveSearchViewModel(MessageBus messageBus, SearchResults results, bool enableAddNew)
        {
            MessageBus = messageBus ?? throw new ArgumentNullException("messageBus");
            var msg = new GetServerSettingsMessage();

            MessageBus.Publish(msg).Wait();
            ConnectionProfile = msg.Profile;
            ServiceModel      = msg.ServiceModel;

            // available layers
            EnableAddNew = enableAddNew;
            if (EnableAddNew)
            {
                AvailableLayers.Add(new Layer()
                {
                    Id = SaveSearchConstraintViewModel.AddNewLayerId, Name = "(new layer)"
                });
            }
            ServiceModel.Layers.ToList().ForEach(l => AvailableLayers.Add(new Layer()
            {
                Id = l.Id, Name = l.Name, Description = l.Description
            }));

            FeatureService = ServiceModel.FeatureService.AbsoluteUri;
            results.ValueNames.ToList().ForEach(name => ConstraintsToSave.Add(
                                                    new SaveSearchConstraintViewModel(name, AvailableLayers)
            {
                IncludeInSave = true, TargetLayerId = SaveSearchConstraintViewModel.AddNewLayerId
            }));
        }
Ejemplo n.º 2
0
        private async Task ViewDocument(string documentUri)
        {
            try
            {
                IsFetching = true;

                var serverMsg = new GetServerSettingsMessage();
                await MessageBus.Publish(serverMsg);

                Debug.Assert(serverMsg.Resolved);
                if (!serverMsg.Resolved)
                {
                    Reset();
                    return;
                }

                var conn     = ConnectionService.Instance.Create(serverMsg.Profile);
                var document = await DocumentService.Instance.Fetch(conn, documentUri, serverMsg.ServiceModel.DocTransform);

                DocumentUri      = documentUri;
                FormattedContent = document.RawContent;
            }
            catch (Exception e)
            {
                throw e; // let ServerCommand handle it
            }
            finally
            {
                IsFetching = false;
            }
        }
        protected virtual bool InternalCanExecuteCallback(object parameter)
        {
            var msg = new GetServerSettingsMessage();

            MessageBus.Publish(msg).Wait();
            return(msg.Profile != null && msg.ServiceModel != null);
        }
        public bool CanExecute(object parameter)
        {
            var msg = new GetServerSettingsMessage();

            MessageBus.Publish(msg).Wait();
            return(msg.ServiceModel != null);
        }
        public SearchHelpViewModel(MessageBus messageBus)
        {
            var msg = new GetServerSettingsMessage();

            messageBus.Publish(msg).Wait();
            if (msg.Resolved && msg.ServiceModel != null)
            {
                foreach (var constraint in msg.ServiceModel.Constraints)
                {
                    Constraints.Add(constraint);
                }
            }
        }