private void AddNew()
        {
            var model = new MaterialIdentification();

            model.MaterialID      = MaterialID;
            model.MaterialIdentID = -1;
            model.Taxa            = "<New identification>";
            var viewmodel = new MaterialIdentificationViewModel(model);

            _model.Add(viewmodel);

            lst.SelectedItem = viewmodel;

            RegisterUniquePendingChange(new InsertMaterialIdentificationCommand(viewmodel.Model));
        }
        public void AddHistoryFromMaterial(MaterialViewModel m)
        {
            var model = new MaterialIdentification();

            model.MaterialID      = m.MaterialID;
            model.MaterialIdentID = -1;
            model.IDAccuracy      = m.IdentificationAccuracy;
            model.IDBy            = m.IdentifiedBy;
            model.IDDate          = m.IdentificationDate;
            model.IDMethod        = m.IdentificationMethod;
            model.IDNotes         = m.IdentificationNotes;
            model.IDRefID         = m.IdentificationReferenceID;
            model.IDRefPage       = m.IdentificationRefPage;
            model.Taxa            = m.TaxaDesc;

            var viewmodel = new MaterialIdentificationViewModel(model);

            _model.Add(viewmodel);
            RegisterUniquePendingChange(new InsertMaterialIdentificationCommand(viewmodel.Model));
        }
        public void LoadIDHistory()
        {
            var service = new MaterialService(User);
            var list    = service.GetMaterialIdentification(MaterialID);

            _model = new ObservableCollection <MaterialIdentificationViewModel>(list.ConvertAll((m) => {
                var viewModel          = new MaterialIdentificationViewModel(m);
                viewModel.DataChanged += new DataChangedHandler(viewModel_DataChanged);
                return(viewModel);
            }));

            lst.SelectionChanged += new SelectionChangedEventHandler(lst_SelectionChanged);

            detailGrid.IsEnabled = false;

            lst.ItemsSource = _model;
            if (_model.Count > 0)
            {
                lst.SelectedItem = _model[0];
            }
        }