When I update, I get an error (unable to perform aftertransactioncompletion 
callback).
inner exception is "the given key was not present in the dictionary".

Configuration code:
                        Config.Configure();
                        
                        
Config.SetEnversProperty(ConfigurationKey.StoreDataAtDelete, true);
                        
Config.SetEnversProperty(ConfigurationKey.AuditTablePrefix, "LOG_");
                        
Config.SetEnversProperty(ConfigurationKey.AuditTableSuffix, "");

                        Config.IntegrateWithEnvers();

help me



-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nhusers+unsubscr...@googlegroups.com.
To post to this group, send email to nhusers@googlegroups.com.
Visit this group at http://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.
using System.Collections.Generic;
using System.Text;
using System;

using KenTech.NHibCoder.WebBase;
using KenTech.NHibCoder.WebBase.Utils;
using NHibernate.Envers.Configuration.Attributes;

namespace Saye.Ahbs.Core.Hasta.Dto
{
	/**
	* Source Code Generated by NHibernate Code Generator 2.3
	* Name	:	İbrahim KENKAYA
	* E-Mail	:	ibrahim.kenk...@gmail.com
	*/

	/// <summary>
	/// Hastaların kimlik bilgilerinin tutulduğu tablodur.
	/// Aynı kişi bu tabloda birden fazla kez yer alabilir, aile hekimliği birimi bazında tek kaydı olabilir.
	/// </summary>
	[Audited]
	[Serializable]
	public class Kisi : BasePersistence
	{
		private int id;
		private decimal? tcKimlikNo;
		private string adi;
		private string soyadi;
		private string babaAdi;
		private string anneAdi;
		private DateTime dogumTarihi;
		private DateTime? dogumTarihiBeyan;
		private string pasaportNo;
		private int? anneId;
		private int? babaId;
		private int? esId;
		private int? kisiAdresTuikId;
		private string dogumYeri;
		private DateTime? kisiKayitTarihi;
		private int? birimKodu;
		private int ekleyenBirimKodu;
		private short ahbsKayitTuru;
		private short? ahbsKayitDurumu;
		private int? skrsCinsiyetId;
		private int? skrsCinsiyetiDigerId;
		private int? skrsMedeniHaliId;
		private DateTime? sonIslemZamani;
		private decimal? sonIslemYapanTc;


		public virtual int Id { get { return id; } set { id = value; } }

		/// <summary>
		/// aynı TC no bu tabloda birden fazla kez yer alabilir, birim bazında tektir...
		/// bkz. tablo açıklaması
		/// (tckimlik_no,ekleyen_birim_kodu) alanları üzerinden unique tir
		/// </summary>
		public virtual decimal? TcKimlikNo { get { return tcKimlikNo; } set { tcKimlikNo = value; } }

		public virtual string Adi { get { return adi; } set { adi = value; } }

		public virtual string Soyadi { get { return soyadi; } set { soyadi = value; } }

		public virtual string BabaAdi { get { return babaAdi; } set { babaAdi = value; } }

		public virtual string AnneAdi { get { return anneAdi; } set { anneAdi = value; } }

		public virtual DateTime DogumTarihi { get { return dogumTarihi; } set { dogumTarihi = value; } }

		public virtual DateTime? DogumTarihiBeyan { get { return dogumTarihiBeyan; } set { dogumTarihiBeyan = value; } }

		public virtual string PasaportNo { get { return pasaportNo; } set { pasaportNo = value; } }

		public virtual int? AnneId { get { return anneId; } set { anneId = value; } }

		public virtual int? BabaId { get { return babaId; } set { babaId = value; } }

		public virtual int? EsId { get { return esId; } set { esId = value; } }

		/// <summary>
		/// KISI_ADRES_TUIK tablosunda kişinin resmi adresini işaret eder.
		/// null veya 1 ise SANAL HANE dir
		/// 
		/// </summary>
		public virtual int? KisiAdresTuikId { get { return kisiAdresTuikId; } set { kisiAdresTuikId = value; } }

		public virtual string DogumYeri { get { return dogumYeri; } set { dogumYeri = value; } }

		public virtual DateTime? KisiKayitTarihi { get { return kisiKayitTarihi; } set { kisiKayitTarihi = value; } }

		/// <summary>
		/// kaydın bakanlıkta kesin kayıtlı  olduğu birim kodudur
		/// </summary>
		public virtual int? BirimKodu { get { return birimKodu; } set { birimKodu = value; } }

		/// <summary>
		/// kaydı oluşturan kullanıcının bağlı olduğu birim kodudur
		/// </summary>
		public virtual int EkleyenBirimKodu { get { return ekleyenBirimKodu; } set { ekleyenBirimKodu = value; } }

		/// <summary>
		/// Kişinin kesin kayıtlı veya misafir kayıtlı olduğunu belirtir.
		/// 1= kesin kayıtlı
		/// 2=misafir
		/// 
		/// kayıt durumunun detayı için bkz. ahbs_kayit_durumu.
		/// 
		/// kesin kayıtlı yaşayan kişileri bulmak için (ahbs_kayit_turu=1 and ahbs_kayit_durumu is null)
		/// </summary>
		public virtual short AhbsKayitTuru { get { return ahbsKayitTuru; } set { ahbsKayitTuru = value; } }

		/// <summary>
		/// Kişinin ahbs kayıt türüne ait detay bilgisini tutar. Bu alan null ise detay bilgi yoktur. ahbs_kayit_turu ndeki değer geçerlidir. mesela
		/// ahbs_kayit_turu=2 ve ahbs_kayit_durumu null ise bu kişi misafir kayıtlı kişidir.
		/// ahbs_kayit_turu=2 ve ahbs_kayit_durumu =1  ise bu kişi dilekçeli kişidir.
		/// 
		/// kesin kayıtlı yaşayan kişileri bulmak için (ahbs_kayit_turu=1 and ahbs_kayit_durumu is null)
		/// 
		/// null -> detay yok
		/// 1= dilekçeli 
		/// 2= ilişik kesilmiş
		/// 3= kapalı
		/// 
		/// 
		/// </summary>
		public virtual short? AhbsKayitDurumu { get { return ahbsKayitDurumu; } set { ahbsKayitDurumu = value; } }

		public virtual int? SkrsCinsiyetId { get { return skrsCinsiyetId; } set { skrsCinsiyetId = value; } }

		public virtual int? SkrsCinsiyetiDigerId { get { return skrsCinsiyetiDigerId; } set { skrsCinsiyetiDigerId = value; } }

		public virtual int? SkrsMedeniHaliId { get { return skrsMedeniHaliId; } set { skrsMedeniHaliId = value; } }

		public virtual DateTime? SonIslemZamani { get { return sonIslemZamani; } set { sonIslemZamani = value; } }

		public virtual decimal? SonIslemYapanTc { get { return sonIslemYapanTc; } set { sonIslemYapanTc = value; } }


		public override bool Equals(object obj)
		{
			if (obj == null || !(obj is Kisi))
				return false;

			Kisi o = obj as Kisi;

			return (
						this.id.Equals(o.id) &&
						this.tcKimlikNo.Equals(o.tcKimlikNo) &&
						this.adi.Equals(o.adi) &&
						this.soyadi.Equals(o.soyadi) &&
						this.babaAdi.Equals(o.babaAdi) &&
						this.anneAdi.Equals(o.anneAdi) &&
						this.dogumTarihi.Equals(o.dogumTarihi) &&
						this.dogumTarihiBeyan.Equals(o.dogumTarihiBeyan) &&
						this.pasaportNo.Equals(o.pasaportNo) &&
						this.anneId.Equals(o.anneId) &&
						this.babaId.Equals(o.babaId) &&
						this.esId.Equals(o.esId) &&
						this.kisiAdresTuikId.Equals(o.kisiAdresTuikId) &&
						this.dogumYeri.Equals(o.dogumYeri) &&
						this.kisiKayitTarihi.Equals(o.kisiKayitTarihi) &&
						this.birimKodu.Equals(o.birimKodu) &&
						this.ekleyenBirimKodu.Equals(o.ekleyenBirimKodu) &&
						this.ahbsKayitTuru.Equals(o.ahbsKayitTuru) &&
						this.ahbsKayitDurumu.Equals(o.ahbsKayitDurumu) &&
						this.skrsCinsiyetId.Equals(o.skrsCinsiyetId) &&
						this.skrsCinsiyetiDigerId.Equals(o.skrsCinsiyetiDigerId) &&
						this.skrsMedeniHaliId.Equals(o.skrsMedeniHaliId) &&
						this.sonIslemZamani.Equals(o.sonIslemZamani) &&
						this.sonIslemYapanTc.Equals(o.sonIslemYapanTc) 
					);
		}


		public override int GetHashCode()
		{
			HashSet<object> hash = new HashSet<object>();
			hash.Add(this.id);
			hash.Add(this.tcKimlikNo);
			hash.Add(this.adi);
			hash.Add(this.soyadi);
			hash.Add(this.babaAdi);
			hash.Add(this.anneAdi);
			hash.Add(this.dogumTarihi);
			hash.Add(this.dogumTarihiBeyan);
			hash.Add(this.pasaportNo);
			hash.Add(this.anneId);
			hash.Add(this.babaId);
			hash.Add(this.esId);
			hash.Add(this.kisiAdresTuikId);
			hash.Add(this.dogumYeri);
			hash.Add(this.kisiKayitTarihi);
			hash.Add(this.birimKodu);
			hash.Add(this.ekleyenBirimKodu);
			hash.Add(this.ahbsKayitTuru);
			hash.Add(this.ahbsKayitDurumu);
			hash.Add(this.skrsCinsiyetId);
			hash.Add(this.skrsCinsiyetiDigerId);
			hash.Add(this.skrsMedeniHaliId);
			hash.Add(this.sonIslemZamani);
			hash.Add(this.sonIslemYapanTc);

			return hash.GetHashCode();
		}


		public override string ToString()
		{
			StringBuilder ret = new StringBuilder();
			ret.Append("OBJECT_NAME=#[KISI]# , ")
			.Append("Saye.Ahbs.Core.Hasta.Dto.Kisi :")
			.Append(", id = " + this.id)
			.Append(", tcKimlikNo = " + this.tcKimlikNo)
			.Append(", adi = " + this.adi)
			.Append(", soyadi = " + this.soyadi)
			.Append(", babaAdi = " + this.babaAdi)
			.Append(", anneAdi = " + this.anneAdi)
			.Append(", dogumTarihi = " + this.dogumTarihi)
			.Append(", dogumTarihiBeyan = " + this.dogumTarihiBeyan)
			.Append(", pasaportNo = " + this.pasaportNo)
			.Append(", anneId = " + this.anneId)
			.Append(", babaId = " + this.babaId)
			.Append(", esId = " + this.esId)
			.Append(", kisiAdresTuikId = " + this.kisiAdresTuikId)
			.Append(", dogumYeri = " + this.dogumYeri)
			.Append(", kisiKayitTarihi = " + this.kisiKayitTarihi)
			.Append(", birimKodu = " + this.birimKodu)
			.Append(", ekleyenBirimKodu = " + this.ekleyenBirimKodu)
			.Append(", ahbsKayitTuru = " + this.ahbsKayitTuru)
			.Append(", ahbsKayitDurumu = " + this.ahbsKayitDurumu)
			.Append(", skrsCinsiyetId = " + this.skrsCinsiyetId)
			.Append(", skrsCinsiyetiDigerId = " + this.skrsCinsiyetiDigerId)
			.Append(", skrsMedeniHaliId = " + this.skrsMedeniHaliId)
			.Append(", sonIslemZamani = " + this.sonIslemZamani)
			.Append(", sonIslemYapanTc = " + this.sonIslemYapanTc);

			return ret.ToString();
		}

	}
}
using System.Collections.Generic;
using System.Text;
using System;

using KenTech.NHibCoder.WebBase;
using KenTech.NHibCoder.WebBase.Utils;

namespace Saye.Ahbs.Core.Log.Kisi.Dto
{
	/**
	* Source Code Generated by NHibernate Code Generator 2.3
	* Name	:	İbrahim KENKAYA
	* E-Mail	:	ibrahim.kenk...@gmail.com
	*/

	/// <summary>
	/// ---
	/// </summary>
	[Serializable]
	public class LogKisi : BasePersistence
	{
		private int id;
		private int rev;
		private byte revtype;
		private decimal? tcKimlikNo;
		private string adi;
		private string soyadi;
		private string babaAdi;
		private string anneAdi;
		private DateTime? dogumTarihi;
		private DateTime? dogumTarihiBeyan;
		private string pasaportNo;
		private int? anneId;
		private int? babaId;
		private int? esId;
		private int? kisiAdresTuikId;
		private string dogumYeri;
		private DateTime? kisiKayitTarihi;
		private int? birimKodu;
		private int? ekleyenBirimKodu;
		private short? ahbsKayitTuru;
		private short? ahbsKayitDurumu;
		private int? skrsCinsiyetId;
		private int? skrsCinsiyetiDigerId;
		private int? skrsMedeniHaliId;
		private DateTime? sonIslemZamani;
		private decimal? sonIslemYapanTc;


		public virtual int Id { get { return id; } set { id = value; } }

		public virtual int Rev { get { return rev; } set { rev = value; } }

		public virtual byte Revtype { get { return revtype; } set { revtype = value; } }

		public virtual decimal? TcKimlikNo { get { return tcKimlikNo; } set { tcKimlikNo = value; } }

		public virtual string Adi { get { return adi; } set { adi = value; } }

		public virtual string Soyadi { get { return soyadi; } set { soyadi = value; } }

		public virtual string BabaAdi { get { return babaAdi; } set { babaAdi = value; } }

		public virtual string AnneAdi { get { return anneAdi; } set { anneAdi = value; } }

		public virtual DateTime? DogumTarihi { get { return dogumTarihi; } set { dogumTarihi = value; } }

		public virtual DateTime? DogumTarihiBeyan { get { return dogumTarihiBeyan; } set { dogumTarihiBeyan = value; } }

		public virtual string PasaportNo { get { return pasaportNo; } set { pasaportNo = value; } }

		public virtual int? AnneId { get { return anneId; } set { anneId = value; } }

		public virtual int? BabaId { get { return babaId; } set { babaId = value; } }

		public virtual int? EsId { get { return esId; } set { esId = value; } }

		public virtual int? KisiAdresTuikId { get { return kisiAdresTuikId; } set { kisiAdresTuikId = value; } }

		public virtual string DogumYeri { get { return dogumYeri; } set { dogumYeri = value; } }

		public virtual DateTime? KisiKayitTarihi { get { return kisiKayitTarihi; } set { kisiKayitTarihi = value; } }

		public virtual int? BirimKodu { get { return birimKodu; } set { birimKodu = value; } }

		public virtual int? EkleyenBirimKodu { get { return ekleyenBirimKodu; } set { ekleyenBirimKodu = value; } }

		public virtual short? AhbsKayitTuru { get { return ahbsKayitTuru; } set { ahbsKayitTuru = value; } }

		public virtual short? AhbsKayitDurumu { get { return ahbsKayitDurumu; } set { ahbsKayitDurumu = value; } }

		public virtual int? SkrsCinsiyetId { get { return skrsCinsiyetId; } set { skrsCinsiyetId = value; } }

		public virtual int? SkrsCinsiyetiDigerId { get { return skrsCinsiyetiDigerId; } set { skrsCinsiyetiDigerId = value; } }

		public virtual int? SkrsMedeniHaliId { get { return skrsMedeniHaliId; } set { skrsMedeniHaliId = value; } }

		public virtual DateTime? SonIslemZamani { get { return sonIslemZamani; } set { sonIslemZamani = value; } }

		public virtual decimal? SonIslemYapanTc { get { return sonIslemYapanTc; } set { sonIslemYapanTc = value; } }


		public override bool Equals(object obj)
		{
			if (obj == null || !(obj is LogKisi))
				return false;

			LogKisi o = obj as LogKisi;

			return (
						this.id.Equals(o.id) &&
						this.rev.Equals(o.rev) &&
						this.revtype.Equals(o.revtype) &&
						this.tcKimlikNo.Equals(o.tcKimlikNo) &&
						this.adi.Equals(o.adi) &&
						this.soyadi.Equals(o.soyadi) &&
						this.babaAdi.Equals(o.babaAdi) &&
						this.anneAdi.Equals(o.anneAdi) &&
						this.dogumTarihi.Equals(o.dogumTarihi) &&
						this.dogumTarihiBeyan.Equals(o.dogumTarihiBeyan) &&
						this.pasaportNo.Equals(o.pasaportNo) &&
						this.anneId.Equals(o.anneId) &&
						this.babaId.Equals(o.babaId) &&
						this.esId.Equals(o.esId) &&
						this.kisiAdresTuikId.Equals(o.kisiAdresTuikId) &&
						this.dogumYeri.Equals(o.dogumYeri) &&
						this.kisiKayitTarihi.Equals(o.kisiKayitTarihi) &&
						this.birimKodu.Equals(o.birimKodu) &&
						this.ekleyenBirimKodu.Equals(o.ekleyenBirimKodu) &&
						this.ahbsKayitTuru.Equals(o.ahbsKayitTuru) &&
						this.ahbsKayitDurumu.Equals(o.ahbsKayitDurumu) &&
						this.skrsCinsiyetId.Equals(o.skrsCinsiyetId) &&
						this.skrsCinsiyetiDigerId.Equals(o.skrsCinsiyetiDigerId) &&
						this.skrsMedeniHaliId.Equals(o.skrsMedeniHaliId) &&
						this.sonIslemZamani.Equals(o.sonIslemZamani) &&
						this.sonIslemYapanTc.Equals(o.sonIslemYapanTc) 
					);
		}


		public override int GetHashCode()
		{
			HashSet<object> hash = new HashSet<object>();
			hash.Add(this.id);
			hash.Add(this.rev);
			hash.Add(this.revtype);
			hash.Add(this.tcKimlikNo);
			hash.Add(this.adi);
			hash.Add(this.soyadi);
			hash.Add(this.babaAdi);
			hash.Add(this.anneAdi);
			hash.Add(this.dogumTarihi);
			hash.Add(this.dogumTarihiBeyan);
			hash.Add(this.pasaportNo);
			hash.Add(this.anneId);
			hash.Add(this.babaId);
			hash.Add(this.esId);
			hash.Add(this.kisiAdresTuikId);
			hash.Add(this.dogumYeri);
			hash.Add(this.kisiKayitTarihi);
			hash.Add(this.birimKodu);
			hash.Add(this.ekleyenBirimKodu);
			hash.Add(this.ahbsKayitTuru);
			hash.Add(this.ahbsKayitDurumu);
			hash.Add(this.skrsCinsiyetId);
			hash.Add(this.skrsCinsiyetiDigerId);
			hash.Add(this.skrsMedeniHaliId);
			hash.Add(this.sonIslemZamani);
			hash.Add(this.sonIslemYapanTc);

			return hash.GetHashCode();
		}


		public override string ToString()
		{
			StringBuilder ret = new StringBuilder();
			ret.Append("OBJECT_NAME=#[LOG_KISI]# , ")
			.Append("Saye.Ahbs.Core.Log.Kisi.Dto.LogKisi :")
			.Append(", id = " + this.id)
			.Append(", rev = " + this.rev)
			.Append(", revtype = " + this.revtype)
			.Append(", tcKimlikNo = " + this.tcKimlikNo)
			.Append(", adi = " + this.adi)
			.Append(", soyadi = " + this.soyadi)
			.Append(", babaAdi = " + this.babaAdi)
			.Append(", anneAdi = " + this.anneAdi)
			.Append(", dogumTarihi = " + this.dogumTarihi)
			.Append(", dogumTarihiBeyan = " + this.dogumTarihiBeyan)
			.Append(", pasaportNo = " + this.pasaportNo)
			.Append(", anneId = " + this.anneId)
			.Append(", babaId = " + this.babaId)
			.Append(", esId = " + this.esId)
			.Append(", kisiAdresTuikId = " + this.kisiAdresTuikId)
			.Append(", dogumYeri = " + this.dogumYeri)
			.Append(", kisiKayitTarihi = " + this.kisiKayitTarihi)
			.Append(", birimKodu = " + this.birimKodu)
			.Append(", ekleyenBirimKodu = " + this.ekleyenBirimKodu)
			.Append(", ahbsKayitTuru = " + this.ahbsKayitTuru)
			.Append(", ahbsKayitDurumu = " + this.ahbsKayitDurumu)
			.Append(", skrsCinsiyetId = " + this.skrsCinsiyetId)
			.Append(", skrsCinsiyetiDigerId = " + this.skrsCinsiyetiDigerId)
			.Append(", skrsMedeniHaliId = " + this.skrsMedeniHaliId)
			.Append(", sonIslemZamani = " + this.sonIslemZamani)
			.Append(", sonIslemYapanTc = " + this.sonIslemYapanTc);

			return ret.ToString();
		}

	}
}

Attachment: Log.hbm.xml
Description: XML document

Attachment: Rev.hbm.xml
Description: XML document

using System.Collections.Generic;
using System.Text;
using System;

using KenTech.NHibCoder.WebBase;
using KenTech.NHibCoder.WebBase.Utils;
using NHibernate.Envers.Configuration.Attributes;
using NHibernate.Envers;

namespace Saye.Ahbs.Core.RevInfo
{
    /**
    * Source Code Generated by NHibernate Code Generator 2.3
    * Name	:	İbrahim KENKAYA
    * E-Mail	:	ibrahim.kenk...@gmail.com
    */
    public class ExampleListener : IRevisionListener
    {
        //private object userId = 27214177090;

        public ExampleListener()
        { 
            
        }

        public void NewRevision(object revisionEntity)
        {
            ((Revinfo)revisionEntity).KullaniciTc = Decimal.Parse(NHSessionManager.ContextUserId);//(decimal)userId;
        }

        //public ExampleListener(object userId)
        //{
        //    this.userId = userId;
        //}

    }
    
    
    [RevisionEntity(typeof(ExampleListener))]
    [Serializable]
    public class Revinfo //: DefaultRevisionEntity
    {
        private int rev;
        private DateTime? revtstmp;
        private decimal? kullaniciTc;

        [RevisionNumber]
        public virtual int Rev
        {
            get { return rev; }
            set { rev = value; }
        }


        [RevisionTimestamp]
        public virtual DateTime? Revtstmp
        {
            get { return revtstmp; }
            set { revtstmp = value; }
        }

        public virtual decimal? KullaniciTc
        {
            get { return kullaniciTc; }
            set { kullaniciTc = value; }
        }


        public override bool Equals(object obj)
        {
            if (obj == null || !(obj is Revinfo))
                return false;

            Revinfo o = obj as Revinfo;

            return (
                        this.rev.Equals(o.rev) &&
                        this.revtstmp.Equals(o.revtstmp) &&
                        this.kullaniciTc.Equals(o.kullaniciTc)
                    );
        }


        public override int GetHashCode()
        {
            HashSet<object> hash = new HashSet<object>();
            hash.Add(this.rev);
            hash.Add(this.revtstmp);
            hash.Add(this.kullaniciTc);

            return hash.GetHashCode();
        }


        public override string ToString()
        {
            StringBuilder ret = new StringBuilder();
            ret.Append("OBJECT_NAME=#[REVINFO]# , ")
            .Append("Saye.Ahbs.Core.Muayene.Dto.Revinfo :")
            .Append(", rev = " + this.rev)
            .Append(", revtstmp = " + this.revtstmp)
            .Append(", kullaniciTc = " + this.kullaniciTc);

            return ret.ToString();
        }

    }
}

Reply via email to