public void CreateGeschaeftspartner(ref GeschaeftspartnerDTO gpDTO)
        {
            Check.Argument(gpDTO != null, "gpDTO != null");
            Check.Argument(gpDTO.GpNr == 0, "gpDTO.Id == 0");
            Check.OperationCondition(!transactionService.IsTransactionActive, "Keine aktive Transaktion erlaubt.");

            Geschaeftspartner gp = gpDTO.ToEntity();
            transactionService.ExecuteTransactional(
                () => 
                {
                    this.gp_REPO.Save(gp);
                });
            gpDTO = this.FindGeschaeftspartner(gp.GpNr);
        }
        public void UpdateGeschaeftspartner(ref GeschaeftspartnerDTO gpDTO)
        {
            Check.Argument(gpDTO != null, "gpDTO != null");
            Check.Argument(gpDTO.GpNr > 0, "gpDTO.Id > 0");
            Check.OperationCondition(!transactionService.IsTransactionActive, "Keine aktive Transaktion erlaubt.");
            int gpNr = gpDTO.GpNr;
            transactionService.ExecuteTransactional(() =>
            {
                if (this.gp_REPO.FindByGpNr(gpNr) == null)
                {
                    throw new GeschaeftspartnerNichtGefundenException(gpNr);
                }
            });

            Geschaeftspartner gp = gpDTO.ToEntity();
            transactionService.ExecuteTransactional(() =>
                {
                    this.gp_REPO.Save(gp);
                });
            gpDTO = this.FindGeschaeftspartner(gp.GpNr);
        }