コード例 #1
0
ファイル: DataStorage.cs プロジェクト: Egor92/MyOldProjects
        /// <summary> Возвращает свободный идентификатор для данного типа объекта </summary>
        /// <param name="entityType">Тип объекта</param>
        /// <returns>Идентификатор</returns>
        public id GetID(DBEntity entity)
        {
            id Result = null;
            List <DBObject> objects = this.Storage.First(x => x.Key == entity).Value;

            if (objects.Count == 0)
            {
                Result = new id(1);
            }
            else
            {
                objects = objects.OrderBy(x => x.ID).ToList();
                bool isFinded = false;
                for (int I = 0; I < objects.Count; I++)
                {
                    if (objects[I].ID != I + 1)
                    {
                        Result   = new id(I + 1);
                        isFinded = true;
                        break;
                    }
                }
                if (!isFinded)
                {
                    Result = objects.Last().ID.Value + 1;
                }
            }
            return(Result);
        }
コード例 #2
0
ファイル: DataStorage.cs プロジェクト: Egor92/MyOldProjects
        /// <summary> Создаёт новый объект и сохраняет его в Хранилище Данных </summary>
        public TObject CreateDBObject <TObject>() where TObject : DBObject
        {
            id      ID     = this.GetID(typeof(TObject));
            TObject Result = DBObject.GetEmpty(typeof(TObject), ID) as TObject;

            this.AddDBObject(Result);
            return(Result);
        }
コード例 #3
0
ファイル: DataStorage.cs プロジェクト: Egor92/MyOldProjects
        /// <summary> Создаёт новый объект и сохраняет его в Хранилище Данных </summary>
        public DBObject CreateDBObject(DBEntity entity)
        {
            id       ID     = this.GetID(entity);
            DBObject Result = DBObject.GetEmpty(entity, ID);

            this.AddDBObject(Result);
            return(Result);
        }
コード例 #4
0
ファイル: SQLiteEngine.cs プロジェクト: Egor92/MyOldProjects
        /// <summary> Делает запрос на удаление </summary>
        /// <param name="TableName">Имя таблицы</param>
        /// <param name="ID">ИД удаляемого объекта</param>
        protected void Delete(string TableName, id ID)
        {
            string sqlCommand = string.Format("DELETE FROM '{0}' WHERE ID = '{1}'", TableName, ID.ToString());

            using (SQLiteCommand command = new SQLiteCommand(sqlCommand, connection))
            {
                command.ExecuteNonQuery();
            }
        }