public virtual void SaveToDatabase() { if (this.m_saveToDb) { using (PlayerBussiness playerBussiness = new PlayerBussiness()) { object @lock; Monitor.Enter(@lock = this.m_lock); try { if (this.m_farm != null && this.m_farm.IsDirty) { if (this.m_farm.ID > 0) { playerBussiness.UpdateFarm(this.m_farm); } else { this.m_farm.ID = 0; playerBussiness.AddFarm(this.m_farm); } } for (int i = 0; i < this.m_fields.Length; i++) { UserFieldInfo userFieldInfo = this.m_fields[i]; if (userFieldInfo != null && userFieldInfo.IsDirty) { if (userFieldInfo.ID > 0) { playerBussiness.UpdateFields(userFieldInfo); } else { playerBussiness.AddFields(userFieldInfo); } } } } finally { Monitor.Exit(@lock); } } } }