Пример #1
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);
                }
            }
        }
Пример #2
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();
                }
            }
        }
Пример #3
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);
                }
            });
        }
Пример #4
0
        public void Save(ORM.Database database)
        {
            if (IsNew)
            {
                database.Insert(Record);
            }
            else if (IsDirty)
            {
                database.Update(Record);
            }

            IsNew = IsDirty = false;
        }
Пример #5
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;
            });
        }
Пример #6
0
        public void Save(ORM.Database database)
        {
            WorldServer.Instance.IOTaskPool.ExecuteInContext(() =>
            {
                if (IsNew)
                {
                    database.Insert(Record);
                }
                else
                {
                    database.Update(Record);
                }

                IsDirty = false;
                IsNew   = false;
            });
        }