Пример #1
0
 public Format(Frame navigationService, ConnectionService connectionService)
 {
     InitializeComponent();
     _navigationService = navigationService;
     _dataContext       = new FormatViewModel(connectionService); //to use methods in DiskInfoViewModel outside
     DataContext        = _dataContext;
 }
Пример #2
0
 public ActionResult Format(FormatViewModel data)
 {
     if (ModelState.IsValid)
     {
         return(View());
     }
     return(View(data));
 }
Пример #3
0
        public DataOutputViewModel CreateDataOutputViewModel(Output output)
        {
            if (output == null)
            {
                throw new ArgumentNullException(nameof(output));
            }

            var formatVms = output.Data.Formats.GroupBy(f => f.MimeType).Select(f =>
            {
                var schemas   = f.Where(fs => !string.IsNullOrEmpty(fs.Schema)).Select(fs => fs.Schema).ToList();
                var encodings = f.Where(fe => !string.IsNullOrEmpty(fe.Encoding)).Select(fe => fe.Encoding).ToList();

                var formatVm = new FormatViewModel
                {
                    MimeType         = f.Key,
                    Schemas          = new ObservableCollection <string>(schemas),
                    SelectedSchema   = schemas.FirstOrDefault(),
                    Encodings        = new ObservableCollection <string>(encodings),
                    SelectedEncoding = encodings.FirstOrDefault()
                };

                return(formatVm);
            }).ToList();

            DataOutputViewModel outputVm;

            if (output.Data is LiteralData)
            {
                outputVm = new LiteralDataOutputViewModel();
            }
            else
            {
                outputVm = new FileOutputViewModel(_dialogService);
            }

            outputVm.Identifier = output.Identifier;
            outputVm.Formats    = new ObservableCollection <FormatViewModel>(formatVms);

            var defaultFormat = output.Data.Formats.FirstOrDefault(f => f.IsDefault);

            if (defaultFormat != null)
            {
                var selectedVm = formatVms.FirstOrDefault(v =>
                                                          v.MimeType.Equals(defaultFormat.MimeType, StringComparison.InvariantCultureIgnoreCase));
                if (selectedVm != null)
                {
                    selectedVm.SelectedSchema   = defaultFormat.Schema;
                    selectedVm.SelectedEncoding = defaultFormat.Encoding;
                    outputVm.SelectedFormat     = selectedVm;
                }
            }
            else
            {
                outputVm.SelectedFormat = outputVm.Formats.FirstOrDefault();
            }

            return(outputVm);
        }
Пример #4
0
        public ActionResult Index(FormatViewModel data)
        {
            if (ModelState.IsValid)
            {
                return(Content("登入成功"));
            }

            return(View());
        }
Пример #5
0
        public void CreateExecuteRequest_ValidInputAndOutputViewModelsGiven_ShouldCreateRequest()
        {
            const string processName = "processName";

            var inputs = new List <DataInputViewModel>
            {
                new LiteralInputViewModel {
                    Value = "a"
                },
                new BoundingBoxInputViewModel(new MapServiceMock(), new ContextMock(), new DialogServiceMock())
                {
                    RectangleViewModel = new RectangleViewModel(new Tuple <double, double>(0.0, 0.0), new Tuple <double, double>(0.0, 0.0))
                },
                new DataInputViewModel(), // Dummy input, should be removed by the factory
                new ComplexDataViewModel(new DialogServiceMock())
                {
                    Input = "i"
                },
                new DataInputViewModel {
                    IsReference = true, ReferenceUrl = "ref uri"
                },
            };

            var selectedFormat = new FormatViewModel
            {
                MimeType         = "test format",
                SelectedEncoding = "encoding",
                SelectedSchema   = "schema"
            };
            var outputs = new List <DataOutputViewModel>
            {
                new LiteralDataOutputViewModel {
                    SelectedFormat = selectedFormat, IsIncluded = true
                },
                new DataOutputViewModel(), // Dummy output, should be removed by the factory
            };

            var request = _requestFactory.CreateExecuteRequest(processName, inputs, outputs);

            request.Identifier.Should().Be(processName);
            request.Inputs.Should().HaveCount(4);
            request.Outputs.Should().HaveCount(1);
            request.ResponseType.Should().Be(ResponseType.Document);
            request.ExecutionMode.Should().Be(ExecutionMode.Asynchronous);
        }
Пример #6
0
        public void CreateDataOutput_OutputViewModelGiven_ShouldCreateOutput()
        {
            const string processName    = "processName";
            var          selectedFormat = new FormatViewModel
            {
                MimeType         = "test format",
                SelectedEncoding = "encoding",
                SelectedSchema   = "schema"
            };

            var vm = new DataOutputViewModel()
            {
                Identifier     = processName,
                SelectedFormat = selectedFormat
            };

            var output = _requestFactory.CreateDataOutput(vm);

            output.Identifier.Should().Be(processName);
            output.MimeType.Should().Be(selectedFormat.MimeType);
            output.Schema.Should().Be(selectedFormat.SelectedSchema);
            output.Encoding.Should().Be(selectedFormat.SelectedEncoding);
            output.Transmission.Should().Be(TransmissionMode.Value);
        }
Пример #7
0
 public FormatView(FormatViewModel viewModel)
 {
     InitializeComponent();
     this.DataContext = viewModel;
 }
Пример #8
0
        public DataInputViewModel CreateDataInputViewModel(Input input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            var formatVms = input.Data.Formats.GroupBy(f => f.MimeType).Select(f =>
            {
                var schemas   = f.Where(fs => !string.IsNullOrEmpty(fs.Schema)).Select(fs => fs.Schema).ToList();
                var encodings = f.Where(fe => !string.IsNullOrEmpty(fe.Encoding)).Select(fe => fe.Encoding).ToList();

                var formatVm = new FormatViewModel
                {
                    MimeType         = f.Key,
                    Schemas          = new ObservableCollection <string>(schemas),
                    SelectedSchema   = schemas.FirstOrDefault(),
                    Encodings        = new ObservableCollection <string>(encodings),
                    SelectedEncoding = encodings.FirstOrDefault()
                };

                return(formatVm);
            }).ToList();

            var isOptional = input.MinimumOccurrences == 0;

            DataInputViewModel vm;

            if (input.Data is LiteralData ld)
            {
                vm = new LiteralInputViewModel();
            }
            else if (input.Data is BoundingBoxData bbd)
            {
                vm = new BoundingBoxInputViewModel(_mapService, _context, _dialogService);
            }
            else if (input.Data is ComplexData cd)
            {
                vm = new ComplexDataViewModel(_dialogService);
            }
            else
            {
                vm = new DataInputViewModel();
            }

            vm.IsOptional  = isOptional;
            vm.ProcessName = input.Identifier;
            vm.Formats     = new ObservableCollection <FormatViewModel>(formatVms);

            var defaultFormat = input.Data.Formats.FirstOrDefault(f => f.IsDefault);

            if (defaultFormat != null)
            {
                var selectedVm = formatVms.FirstOrDefault(v =>
                                                          v.MimeType.Equals(defaultFormat.MimeType, StringComparison.InvariantCultureIgnoreCase));
                if (selectedVm != null)
                {
                    selectedVm.SelectedSchema   = defaultFormat.Schema;
                    selectedVm.SelectedEncoding = defaultFormat.Encoding;
                    vm.SelectedFormat           = selectedVm;
                }
            }
            else
            {
                vm.SelectedFormat = vm.Formats.FirstOrDefault();
            }

            return(vm);
        }
Пример #9
0
 public FormatText()
 {
     InitializeComponent();
     DataContext = new FormatViewModel();
 }