Exemplo n.º 1
0
        public MainAdapter(
            Project project, IFieldPathFactory pathFactory,
            PresetView preset, StandardView standard, AdvancedView advanced,
            RetrieveFieldsView fields)
            : base(project)
        {
            PathFactory = pathFactory;

            Preset   = preset;
            Standard = standard;
            Advanced = advanced;
            _views.Add("Preset", preset.Adapter);
            _views.Add("Standard", standard.Adapter);
            _views.Add("Advanced", advanced.Adapter);

            RetrieveFields = fields;

            Preset.Adapter.Search   += Adapter_Search;
            Standard.Adapter.Search += Adapter_Search;
            Advanced.Adapter.Search += Adapter_Search;

            SelectedSubjectChanged           += delegate { RefreshPaths(); };
            Project.CurrentConnectionChanged += delegate { RefreshPaths(); };
            Result = new BindingSource();
            RefreshPaths();
        }
Exemplo n.º 2
0
        public MainWindowAdapter(
            Project project, IFieldPathFactory pathFactory,
            PresetView preset, StandardView standard, AdvancedView advanced,
            RetrieveFieldsView fields)
            : base(project)
        {
            _appWidth       = Properties.Settings.Default.AppWidth;
            _appHeight      = Properties.Settings.Default.AppHeight;
            _appWindowState = Properties.Settings.Default.AppWindowState;
            _viewColumnSize = new GridLength(Properties.Settings.Default.ViewColumnSize);

            Preset         = preset;
            Standard       = standard;
            Advanced       = advanced;
            RetrieveFields = fields;
            _views.Add("Preset", preset.Adapter);
            _views.Add("Standard", standard.Adapter);
            _views.Add("Advanced", advanced.Adapter);

            Preset.Adapter.Search   += Adapter_Search;
            Standard.Adapter.Search += Adapter_Search;
            Advanced.Adapter.Search += Adapter_Search;

            ProjectAdapter = new ProjectAdapter(project);
            ProjectAdapter.Project.CurrentConnectionChanged += delegate
            {
                RefreshPaths();
                OnPropertyChanged("ApplicationTitle");
            };
            PathFactory = pathFactory;

            CurrentView             = Preset.Adapter;
            SelectedSubjectChanged += delegate { RefreshPaths(); };
            RefreshPaths();
        }
Exemplo n.º 3
0
        public MainAdapter(
            Project project, DbServiceFactory serviceFactory, IFieldPathFactory pathFactory,
            PresetView preset, StandardView standard, AdvancedView advanced,
            RetrieveFieldsView fields)
            : base(project)
        {
            ServiceFactory = serviceFactory;
            PathFactory    = pathFactory;

            Preset   = preset;
            Standard = standard;
            Advanced = advanced;
            _views.Add("Preset", preset.Adapter);
            _views.Add("Standard", standard.Adapter);
            _views.Add("Advanced", advanced.Adapter);

            RetrieveFields = fields;

            Preset.Adapter.Search   += Adapter_Search;
            Standard.Adapter.Search += Adapter_Search;
            Advanced.Adapter.Search += Adapter_Search;

            SelectedSubjectChanged += delegate { RefreshPaths(); };

            var refresh = new EventHandler((s, e) =>
            {
                RefreshPaths();
                _dbService = ServiceFactory.CreateAsync(Project.CurrentConnection);
            });

            Project.CurrentConnectionChanged += refresh;
            Result = new BindingSource();
            refresh(this, EventArgs.Empty);
        }
Exemplo n.º 4
0
        public PresetModel EditPreset(Window owner, PresetModel preset)
        {
            var viewModel = new PresetViewModel(preset);
            var view      = new PresetView {
                Owner = owner, DataContext = viewModel
            };

            view.ShowDialog();

            return(viewModel.GetResult());
        }
Exemplo n.º 5
0
        public Form1()
        {
            InitializeComponent();

            // Instantiate our test configuration
            _config = new Samples.Common.TestConfiguration();

            // Set up the preset view
            var view = new PresetView(
                _adapter = new PresetAdapter <Control>(
                    new WinFormsControlFactory(),
                    new ParameterBuilderFactory()
                    ));

            // The following code is possibly a smell. The builtin ParameterBuilders that work with
            // dates require DateValues to be parsed from the UI controls. The default control returns
            // strings so it won't be able to create an SQL parameter. To overcome this, we monitor
            // when a new part is added to the PresetView (occurs when we call SetParts) and initialise
            // a date parser to do this for us.
            _adapter.PartCreated += (s, e) =>
            {
                var junction = e.Part.SelectedBuilder as JunctionBuilder;
                if ((e.Part.SelectedBuilder is IDateParameterBuilder) ||
                    (junction != null && junction.Other is IDateParameterBuilder))
                {
                    e.Part.Parser = new DateParser();
                }
            };

            // Now create controls and add to form
            _adapter.SetParts(new FieldPathFactory().GetFields(_config[0]));
            view.Dock = DockStyle.Fill;
            splitContainer1.Panel1.Controls.Add(view);

            // Hook search requested event from the adapter
            // Usually triggered by pressing enter in one of the fields
            _adapter.Search += Adapter_Search;
        }