public ArtikelListviewSearchDialog(MainActivity activity, string title, PositionEditDialog dlgPosition): base(activity)
 {
     _activity = activity;  
     _title = title;
     _dlgPosition = dlgPosition;
 }
        void RunPositionEditDlg(EditMode mode)
        {
            try
            {
                if (mode == EditMode.INSERT)
                {
                    if (!this.ValidateKpf())
                        return;

                    _transaction.Datum = EdDatum.Text;
                    _transaction.KundeID = _person.ID;
                    _transaction.Projekt = EdProject.Text;
                    if (_rechnungsAnschrift != null)
                        _transaction.RechnungsAnschriftID = _rechnungsAnschrift.ID;
                    if (_lieferAnschrift != null)
                        _transaction.LieferAnschriftID = _lieferAnschrift.ID;


                    var dlg = new PositionEditDialog(_context);
                    dlg.Initialize(_person, _transaction, null, null);
                    dlg.Show();
                    dlg.DismissEvent += (object sen, EventArgs e) =>
                    {
                            if (dlg.bChanged)
                            {
                                // update the values 
                                this.UpdateTransaction(_transaction,_tempPosition,EditMode.INSERT);
                                this.bChanged = true;
                            }
                    };
                }
                else
                {
                    _transaction.Datum = EdDatum.Text;
                    _transaction.KundeID = _person.ID;
                    _transaction.Projekt = EdProject.Text;
                    if (_rechnungsAnschrift != null)
                        _transaction.RechnungsAnschriftID = _rechnungsAnschrift.ID;
                    if (_lieferAnschrift != null)
                        _transaction.LieferAnschriftID = _lieferAnschrift.ID;
                     
                    _article = BusinessLayer.Artikel.GetArtikel(_tempPosition.ArtID, _tempPosition.Version, Utilities.GetCurrentLanguage(MainActivity._mainActivity), MainActivity.User);

                    var dlg = new PositionEditDialog(_context);
                    dlg.Initialize(_person, _transaction, _tempPosition, _article);
                    dlg.Show();
                    dlg.DismissEvent += (object sen, EventArgs e) =>
                        {
                            if (dlg.bChanged)
                            {
                                // update the values
                                this.UpdateTransaction(_transaction,_tempPosition,EditMode.UPDATE);
                                this.bChanged = true;
                            }
                        };
                }
            }
            catch(Exception ex)
            {
                ExceptionWriter.WriteLogFile(ex);
            }

        }