Ejemplo n.º 1
0
        public virtual void Save(ORM.Database database)
        {
            lock (Locker)
            {
                foreach (var item in Items.Where(item => !item.Value.IsTemporarily))
                {
                    if (item.Value.Record.IsNew)
                    {
                        database.Insert(item.Value.Record);
                        item.Value.OnPersistantItemAdded();
                        item.Value.Record.IsNew = false;
                    }
                    else if (item.Value.Record.IsDirty)
                    {
                        database.Update(item.Value.Record);
                        item.Value.OnPersistantItemUpdated();
                    }
                }

                while (ItemsToDelete.Count > 0)
                {
                    var item = ItemsToDelete.Dequeue();

                    database.Delete(item.Record);
                    item.OnPersistantItemDeleted();
                }
            }
        }
Ejemplo n.º 2
0
        public void Save(ORM.Database database)
        {
            Record.Spells = GetTaxCollectorSpellsLevels();

            WorldServer.Instance.IOTaskPool.AddMessage(() =>
            {
                if (Record.IsNew)
                {
                    database.Insert(Record);
                }
                else
                {
                    database.Update(Record);
                }

                IsDirty      = false;
                Record.IsNew = false;

                foreach (var member in Members.Where(x => x.IsDirty || x.IsNew))
                {
                    member.Save(database);
                }

                foreach (var paddock in Paddocks)
                {
                    paddock.Save(database);
                }
            });
        }
Ejemplo n.º 3
0
 public void Save(ORM.Database database)
 {
     foreach (var job in m_jobs.Values)
     {
         job.Save(database);
     }
 }
Ejemplo n.º 4
0
 private void OnExecutingDBCommand(ORM.Database arg1, IDbCommand arg2)
 {
     if (!Initializing && !IOTaskPool.IsInContext)
     {
         logger.Warn("Execute DB command out the IO task pool : " + arg2.CommandText);
     }
 }
Ejemplo n.º 5
0
        public override void Save(ORM.Database database)
        {
            if (WorldServer.Instance.IsInitialized)
            {
                WorldServer.Instance.IOTaskPool.EnsureContext();
            }

            base.Save(database);

            IsDirty = false;
        }
Ejemplo n.º 6
0
        public void Save(ORM.Database database, bool updateAccount)
        {
            lock (Locker)
            {
                foreach (var item in Items.Where(item => Tokens == null || item.Value != Tokens).Where(item => !item.Value.IsTemporarily))
                {
                    if (item.Value.Record.IsNew)
                    {
                        database.Insert(item.Value.Record);
                        item.Value.OnPersistantItemAdded();
                        item.Value.Record.IsNew = false;
                    }
                    else if (item.Value.Record.IsDirty)
                    {
                        database.Update(item.Value.Record);
                        item.Value.OnPersistantItemUpdated();
                    }
                }

                foreach (var preset in Presets)
                {
                    if (preset.IsNew)
                    {
                        database.Insert(preset);
                        preset.IsNew = false;
                    }
                    else if (preset.IsDirty)
                    {
                        database.Update(preset);
                    }
                }

                while (ItemsToDelete.Count > 0)
                {
                    var item = ItemsToDelete.Dequeue();

                    database.Delete(item.Record);
                    item.OnPersistantItemDeleted();
                }

                while (PresetsToDelete.Count > 0)
                {
                    var preset = PresetsToDelete.Dequeue();

                    database.Delete(preset);
                }

                Owner.WorldAccount.Tokens = Tokens == null ? 0 : (int)Tokens.Stack;
                if (updateAccount)
                {
                    database.Update(Owner.WorldAccount);
                }
            }
        }
Ejemplo n.º 7
0
        public void Save(ORM.Database database)
        {
            WorldServer.Instance.IOTaskPool.AddMessage(() =>
            {
                if (Bag.IsDirty)
                {
                    Bag.Save(database);
                }

                database.Update(m_record);
            });
        }
Ejemplo n.º 8
0
Archivo: Job.cs Proyecto: Mixi59/Stump
        public void Save(ORM.Database database)
        {
            if (IsNew)
            {
                database.Insert(Record);
            }
            else if (IsDirty)
            {
                database.Update(Record);
            }

            IsNew = IsDirty = false;
        }
Ejemplo n.º 9
0
        public void Save(ORM.Database database)
        {
            if (IsRecordDirty)
            {
                database.Update(Record);
                IsRecordDirty = false;

                foreach (var mount in PaddockedMounts.Where(x => x.IsDirty))
                {
                    database.Save(mount);
                }
            }
        }
Ejemplo n.º 10
0
        public void ChangeDataSource(ORM.Database datasource)
        {
            if (m_database == null)
            {
                m_database = datasource;
            }
            else
            {
                m_database = datasource;

                TearDown();
                Initialize();
            }
        }
Ejemplo n.º 11
0
        private void InitializeDatabase()
        {
            logger.Info("Opening Database connection for '{0}' server", WorldServer.Name);
            Database = new ORM.Database(AuthServer.DatabaseConfiguration.GetConnectionString(),
                                        AuthServer.DatabaseConfiguration.ProviderName)
            {
                KeepConnectionAlive = true,
                CommandTimeout      = (24 * 60 * 60)
            };

            Database.OpenSharedConnection();

            AccountManager = new Managers.AccountManager();
            AccountManager.ChangeDataSource(Database);
            AccountManager.Initialize();
        }
Ejemplo n.º 12
0
        public PrimaryKeyIdProvider(string columnName, string tableName)
        {
            ColumnName = columnName;
            TableName  = tableName;

            if (m_synchronised)
            {
                Synchronize();
            }
            else
            {
                m_pool.Add(this);
            }

            Database = WorldServer.Instance.DBAccessor.Database;
        }
Ejemplo n.º 13
0
        public void Save(ORM.Database database)
        {
            WorldServer.Instance.IOTaskPool.AddMessage(() =>
            {
                if (Record.IsNew)
                {
                    database.Insert(Record);
                }
                else
                {
                    database.Update(Record);
                }

                Record.IsDirty = false;
                Record.IsNew   = false;
            });
        }
Ejemplo n.º 14
0
        public void Save(ORM.Database database)
        {
            WorldServer.Instance.IOTaskPool.ExecuteInContext(() =>
            {
                if (IsNew)
                {
                    database.Insert(Record);
                }
                else
                {
                    database.Update(Record);
                }

                IsDirty = false;
                IsNew   = false;
            });
        }
Ejemplo n.º 15
0
        public override void Save(ORM.Database database)
        {
            base.Save(database);

            IsDirty = false;
        }
Ejemplo n.º 16
0
 public override void Save(ORM.Database database)
 {
     Save(database, true);
 }