コード例 #1
0
        public bool ShowPlotInfo(IPlotDataService dataService, Plot plot, PlotStratum stratum, bool isNewPlot)
        {
            System.Diagnostics.Debug.Assert(plot != null);
            System.Diagnostics.Debug.Assert(stratum != null);

            if (stratum.Is3PPNT && isNewPlot)
            {
                using (var view = new Form3PPNTPlotInfo(dataService))
                {
#if !NetCF
                    view.Owner         = this.TopLevelControl as Form;
                    view.StartPosition = FormStartPosition.CenterParent;
#endif
                    return(view.ShowDialog(plot, stratum, isNewPlot) == DialogResult.OK);
                }
            }
            else
            {
                using (var view = new FormPlotInfo())
                {
#if !NetCF
                    view.Owner         = this.TopLevelControl as Form;
                    view.StartPosition = FormStartPosition.CenterParent;
#endif
                    return(view.ShowDialog(plot, stratum, isNewPlot) == DialogResult.OK);
                }
            }
        }
コード例 #2
0
        public void TestMakePlot_3ppnt()
        {
            using (var dal = new CruiseDAL.DAL(":memory:", true))
            {
                var unit = new CuttingUnit()
                {
                    Code = "01",
                    DAL  = dal
                };

                dal.Insert(unit);

                var stratum = new PlotStratum()
                {
                    Code   = "01",
                    Method = CruiseMethods.THREEPPNT,
                    DAL    = dal
                };

                dal.Insert(stratum);

                var plot = stratum.MakePlot(unit);

                plot.Should().BeOfType <Plot3PPNT>();

                plot.PlotNumber.Should().Be(1L);

                plot.CuttingUnit.Should().Be(unit);
                plot.Stratum.Should().Be(stratum);

                plot.Trees.Should().NotBeNull();
            }
        }
コード例 #3
0
        public void TestReadPlots()
        {
            using (var ds = new CruiseDAL.DAL(":memory:", true))
            {
                var unit = new CuttingUnit()
                {
                    Code = "1"
                };

                var st = new PlotStratum()
                {
                    Code   = "1",
                    Method = CruiseMethods.THREEPPNT
                };

                ds.Insert(unit);

                ds.Insert(st);

                ds.Insert(new Plot()
                {
                    CuttingUnit = unit,
                    Stratum     = st,
                    PlotNumber  = 1
                });

                st.DAL = ds;
                st.PopulatePlots(unit.CuttingUnit_CN.Value);

                st.Plots.Should().NotBeNullOrEmpty();
                st.Plots.Should().OnlyContain(x => x is Plot3PPNT);
            }
        }
コード例 #4
0
        public LayoutPlot(IPlotDataService dataService,
                          ISampleSelectorRepository sampleSelectorRepository,
                          ApplicationSettings appSettings,
                          ISoundService soundService,
                          IViewController viewController,
                          PlotStratum stratum) : this()
        {
            SampleSelectorRepository = sampleSelectorRepository;
            //Stratum = stratum;
            DataService = dataService;
            AppSettings = appSettings;
            this.ViewLogicController = new LayoutPlotLogic(stratum,
                                                           this,
                                                           dataService,
                                                           soundService,
                                                           DialogService.Instance,
                                                           AppSettings,
                                                           viewController,
                                                           sampleSelectorRepository);

            WireSplitter(stratum);

            InitializeDataGrid(stratum);

            //no need to load tallies....?
            //Controller.PopulateTallies(this.StratumInfo, this._mode, Controller.CurrentUnit, this._tallyListPanel, this);
        }
コード例 #5
0
        public LayoutPlotLogic(PlotStratum stratum
                               , LayoutPlot view
                               , IPlotDataService dataService
                               , ISoundService soundService
                               , IDialogService dialogService
                               , ApplicationSettings settings
                               , IViewController viewController
                               , ISampleSelectorRepository sampleSelectorRepository)
        {
            SampleSelectorRepository = sampleSelectorRepository;
            Stratum        = stratum;
            View           = view;
            DataService    = dataService;
            _soundService  = soundService;
            _dialogService = dialogService;
            _appSettings   = settings;
            ViewController = viewController;

            _BS_Plots = new BindingSource();
            _BS_Trees = new BindingSource();
            ((System.ComponentModel.ISupportInitialize)(_BS_Plots)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(_BS_Trees)).BeginInit();

            _BS_Plots.DataSource      = typeof(Plot);
            _BS_Plots.CurrentChanged += new System.EventHandler(_BS_Plots_CurrentChanged);

            _BS_Trees.DataSource      = typeof(Tree);
            _BS_Trees.CurrentChanged += new System.EventHandler(_BS_Trees_CurrentChanged);

            ((System.ComponentModel.ISupportInitialize)(_BS_Plots)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(_BS_Trees)).EndInit();

            _BS_Plots.DataSource = Stratum.Plots;
        }
コード例 #6
0
        private void _plotInfo_BTN_Click(object sender, EventArgs e)
        {
            using (var ds = new DAL())
            {
                var stratum = new PlotStratum()
                {
                    DAL = ds, Code = "1", Method = "something"
                };
                var unit = new CuttingUnit()
                {
                    DAL = ds, Code = "1"
                };
                ds.Insert(unit, OnConflictOption.Default);
                ds.Insert(stratum, OnConflictOption.Default);
                stratum.PopulatePlots(unit.CuttingUnit_CN.Value);

                var plot = new Plot()
                {
                    Stratum = stratum
                };

                using (var view = new FormPlotInfo())
                {
                    view.ShowDialog(plot, stratum, false);
                }
            }
        }
コード例 #7
0
        public DialogResult ShowDialog(Plot plot, PlotStratum stratum, bool allowEdit)
        {
            _plot = plot as Plot3PPNT;
            _BS_plot.DataSource = _plot;
            _stratum            = stratum;

            this.DialogResult = DialogResult.OK;

            this._kz3ppnt_lbl.Text = stratum.KZ3PPNT.ToString();

            return(this.ShowDialog());
        }
コード例 #8
0
 private void WireSplitter(PlotStratum stratum)
 {
     if (stratum.Is3PPNT == false)
     {
         LayoutPlot.SplitterMoved           += new SplitterMovedEventHandler(LayoutPlot_SplitterMoved);
         this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.HandleSplitterMoved);
     }
     else
     {
         this.splitContainer1.Panel1Collapsed = true;
     }
 }
コード例 #9
0
        private void InitializeTallyPanel(PlotStratum stratum)
        {
            _tallyListPanel.SuspendLayout();

            if (stratum is FixCNTStratum)
            {
                var openFixCNTTallyButton = new Button()
                {
                    Text = "Open Tally Screen"
                    ,
                    Dock = DockStyle.Top
                };
                openFixCNTTallyButton.Click += new EventHandler(openFixCNTTallyButton_Click);
                this._tallyListPanel.Controls.Add(openFixCNTTallyButton);
            }
            else if (stratum.IsSingleStage)
            {
                if (stratum.Method == "3PPNT")
                {
                    //no need to initialize any counts or samplegroup info for 3PPNT
                    IsGridExpanded = false;
                }
                else if (stratum.Counts.Count() > 0)
                {
                    foreach (var count in stratum.Counts)
                    {
                        MakeTallyRow(_tallyListPanel, count);
                    }
                }
                else
                {
                    MakeSGList(stratum.SampleGroups, _tallyListPanel);
                }
            }
            else
            {
                foreach (var count in stratum.Counts)
                {
                    MakeTallyRow(_tallyListPanel, count);
                }
            }

            this._tallyListPanel.ResumeLayout();
        }
コード例 #10
0
        public Exception TrySaveCounts(PlotStratum stratum)
        {
            var datastore = DataStore;

            if (stratum == null)
            {
                throw new ArgumentNullException("stratum");
            }
            Exception error = null;

            datastore.BeginTransaction();
            try
            {
                foreach (var sg in stratum.SampleGroups.OrEmpty())
                {
                    if (sg.Counts == null)
                    {
                        continue;
                    }
                    foreach (var count in sg.Counts)
                    {
                        try
                        {
                            datastore.Save(count);
                        }
                        catch (Exception e)
                        {
                            System.Diagnostics.Debug.WriteLine(e, "Exception");
                            error = e;
                        }
                    }
                }
                datastore.CommitTransaction();
            }
            catch (Exception)
            {
                datastore.RollbackTransaction();
                throw;
            }

            return(error);
        }
コード例 #11
0
        public LayoutPlot(IDataEntryDataService dataService
                          , ISampleSelectorRepository sampleSelectorRepository
                          , ApplicationSettings appSettings
                          , ISoundService soundService
                          , IViewController viewController
                          , PlotStratum stratum) : this()
        {
            SampleSelectorRepository = sampleSelectorRepository;
            DataService = dataService;
            AppSettings = appSettings;

            this.ViewLogicController = new LayoutPlotLogic(stratum,
                                                           this,
                                                           dataService,
                                                           soundService,
                                                           DialogService.Instance,
                                                           AppSettings,
                                                           viewController,
                                                           sampleSelectorRepository);

            //Setup DataGrid
            _tableStyle = stratum.InitializeTreeColumns(_dataGrid);

            _speciesColumn    = _tableStyle.GridColumnStyles["TreeDefaultValue"] as EditableComboBoxColumn;
            _sgColumn         = _tableStyle.GridColumnStyles["SampleGroup"] as EditableComboBoxColumn;
            _treeNumberColumn = _tableStyle.GridColumnStyles["TreeNumber"] as EditableTextBoxColumn;
            _initialsColoumn  = _tableStyle.GridColumnStyles["Initials"] as EditableComboBoxColumn;
            _logsColumn       = _tableStyle.GridColumnStyles["LogCountActual"] as DataGridButtonColumn;
            _kpiColumn        = _tableStyle.GridColumnStyles["KPI"] as EditableTextBoxColumn;
            _errorsColumn     = _tableStyle.GridColumnStyles["Error"] as DataGridTextBoxColumn;

            if (_logsColumn != null)
            {
                _logsColumn.Click += this.LogsClicked;
                LogColumnVisable   = DataService.EnableLogGrading;
            }
            Settings_CruisersChanged(null, null);//initialize initials column

            InitializeTallyPanel();

            this.ViewLogicController.UpdateCurrentPlot();
        }
コード例 #12
0
        public virtual DialogResult ShowDialog(Plot plot, PlotStratum stratum, bool isNewPlot)
        {
            if (plot == null)
            {
                throw new ArgumentNullException("plot");
            }
            if (stratum == null)
            {
                throw new ArgumentNullException("stratum");
            }

            _stratum = stratum;
            Plot     = plot;

            this._BS_Plot.ResetBindings(false);

            _resequenceTreeNumsBtn.Visible = (plot.Trees != null && plot.Trees.Count > 0);

            //this.DialogResult = DialogResult.OK;
            return(this.ShowDialog());
        }
コード例 #13
0
        private void InitializeDataGrid(PlotStratum stratum)
        {
            this._dataGrid.SuspendLayout();

            var fontWidth = (int)Math.Ceiling(CreateGraphics().MeasureString("_", Font).Width);

            var columns = stratum.MakeTreeColumns(fontWidth);

            this._dataGrid.Columns.AddRange(columns.ToArray());
            this._dataGrid.ResumeLayout();

            _speciesColumn      = _dataGrid.Columns["TreeDefaultValue"] as DataGridViewComboBoxColumn;
            _sgColumn           = _dataGrid.Columns["SampleGroup"] as DataGridViewComboBoxColumn;
            _treeNumberColumn   = _dataGrid.Columns["TreeNumber"] as DataGridViewTextBoxColumn;
            _initialsColoumn    = _dataGrid.Columns["Initials"] as DataGridViewComboBoxColumn;
            _errorMessageColumn = _dataGrid.Columns["Error"] as DataGridViewTextBoxColumn;
            _logsColumn         = _dataGrid.Columns["Logs"] as DataGridViewButtonColumn;
            _stColumn           = _dataGrid.Columns["Stratum"] as DataGridViewComboBoxColumn;

            if (_speciesColumn != null)
            {
                _speciesColumn.DataSource = DataService.GetTreeDefaultValuesAll().ToList();
            }
            if (_sgColumn != null)
            {
                _sgColumn.DataSource = stratum.SampleGroups;
            }

            Settings_CruisersChanged(null, null);//initialize initials column

            if (_logsColumn != null)
            {
                _logsColumn.Visible = DataService.EnableLogGrading;
            }
            if (_stColumn != null)
            {
                _stColumn.DataSource = new PlotStratum[] { this.Stratum };
            }
        }