Beispiel #1
0
        private static void CreateTableColumns( PetaPoco.Database db, string tableName, List<ColumnDefinition> columns )
        {
            var statements = new List<string>( );

            var columnNames = GetDatabaseColumns( db, tableName );

            foreach( var column in columns )
            {
                if( column.Ignore )
                    continue;

                if( columnNames.Contains( column.Name ) )
                    continue;

                // These were added at the CREATE TABLE statement
                if( column.OnlyAtCreate )
                    continue;

                string sql = "ALTER TABLE " + tableName + " ADD COLUMN " + GetColumnString( column );

                statements.Add( sql );

            }

            foreach( string sql in statements )
                db.Execute( sql );
        }
 /// <summary>
 /// 將搜尋控制項的值轉換為 SQL Statement
 /// </summary>
 /// <param name="sql">PetaPoco SQL</param>
 /// <param name="SearchItems">用於搜尋的控制項集合</param>
 /// <param name="plSearch">搜尋區塊控制項</param>
 /// <param name="ViewState">ViewState</param>
 public static void ConvertControlToSQL(PetaPoco.Sql sql, IList<SearchItem> SearchItems, Panel plSearch, StateBag ViewState)
 {
     foreach (SearchItem item in SearchItems)
     {
         if (((Panel)plSearch).FindControl(item.ControlName).GetType() == typeof(CheckBox))
         {
             if ((bool)ViewState[item.ControlName])
             {
                 sql.Append(item.SQLStatement, ViewState[item.ControlName]);
             }
         }
         else
         {
             if (!string.IsNullOrEmpty(Convert.ToString(ViewState[item.ControlName])))
             {
                 sql.Append(item.SQLStatement, ViewState[item.ControlName]);
             }
         }
     }
 }
Beispiel #3
0
        private static void CreateTable( PetaPoco.Database db, string tableName, List<ColumnDefinition> columns )
        {
            var pkColumn = columns.FirstOrDefault( delegate( ColumnDefinition d )
            {
                return d.IsPrimaryKey;
            } );

            var uniqueColumns = columns.FindAll( delegate( ColumnDefinition d )
            {
                return d.OnlyAtCreate && ( pkColumn == null || pkColumn.Name != d.Name );
            } );

            string columnStrings = null;
            if( pkColumn != null )
                columnStrings += GetColumnString( pkColumn );
            foreach( var column in uniqueColumns )
                columnStrings += ", " + GetColumnString( column );

            string sql = "CREATE TABLE IF NOT EXISTS " + tableName;
            if( !string.IsNullOrEmpty( columnStrings ) )
                sql += " ( " + columnStrings + " )";

            db.Execute( sql );
        }
 public BaseRepository( PetaPoco.Database database)
 {
     _database = database;
 }
Beispiel #5
0
 public void SetDb(PetaPoco.Database db)
 {
     this.db = db;
     SelectAll();
 }
Beispiel #6
0
 public UnitOfWork(PetaPoco.Database db)
 {
     _db = db;
 }
 public AuthorRepository( PetaPoco.Database database)
     : base(database)
 {
 }
 public ScalarFunctionInspector(PetaPoco.Database petaDb)
     : base(petaDb)
 {
 }
 public ColumnInspector(PetaPoco.Database petaDb)
     : base(petaDb)
 {
 }
Beispiel #10
0
 private static PetaPoco.Sql BuildWhereCondition(PetaPoco.Sql sql, QueryField queryField)
 {
    string format = "[{0}] {1} @0";
    if (queryField.Name.Equals(QueryFieldName.DownloadDateTime) ||
        queryField.Name.Equals(QueryFieldName.CompletionDateTime))
    {
       format = "datetime([{0}]) {1} datetime(@0)";
    }
    sql = sql.Append(String.Format(CultureInfo.InvariantCulture, format,
             ColumnNameOverides.ContainsKey(queryField.Name) ? ColumnNameOverides[queryField.Name] : queryField.Name.ToString(),
             queryField.Operator), queryField.Value);
    return sql;
 }
Beispiel #11
0
 public static IMapper LookupMapper(PetaPoco.Database database)
 {
     if (!registry.ContainsKey(database)) return null;
     else return registry[database];
 }
 public TableFunctionInspector(PetaPoco.Database petaDb)
     : base(petaDb)
 {
 }
Beispiel #13
0
        private static List<string> GetDatabaseColumns( PetaPoco.Database db, string tableName )
        {
            var command = new SQLiteCommand( "PRAGMA table_info(" + tableName + ");", db.Connection as SQLiteConnection );

            var result = new List<string>( );

            using( var reader = command.ExecuteReader( ) )
            {
                while( reader.Read( ) )
                    result.Add( reader.GetString( reader.GetOrdinal( "name" ) ) );
            }

            return result;
        }
Beispiel #14
0
 private static void ExtraStuff( PetaPoco.Database db )
 {
     db.Execute( "CREATE UNIQUE INDEX IF NOT EXISTS MemberDogIndex ON MemberDog ( MemberId, DogId )" );
 }
Beispiel #15
0
 public bool Save(PetaPoco.Database db = null)
 {
     if(db == null)
         db = DbHelper.GetDatabase();
     if (this._Channels == null)
         this._Channels = "";
     if (this.LastScanTime < System.Data.SqlTypes.SqlDateTime.MinValue.Value)
         this.LastScanTime = System.Data.SqlTypes.SqlDateTime.MinValue.Value;
     if (this.Oid < 1)
         return db.Insert("xmltvsource", "oid", true, this) != null;
     else
         return db.Update(this) > 0;
 }
Beispiel #16
0
 public bool Delete(PetaPoco.Database db = null)
 {
     if (db == null)
         db = DbHelper.GetDatabase();
     return db.Execute("delete from xmltvsource where oid=@0", this.Oid) > 0;
 }
 public TagRepository( PetaPoco.Database database)
     : base(database)
 {
 }
 public SchemaInspector(PetaPoco.Database petaDb)
     : base(petaDb)
 {
 }
 private static void LoadDBItemChildren(PetaPoco.Database db, SqlSystemRole item)
 {
     item.SystemRoleUserList = db.Query<SqlSystemRoleUser>("FROM SystemRoleUser WHERE SystemRoleID=@0", item.Id).ToList();
 }
 public StoredProcedureInspector(PetaPoco.Database petaDb)
     : base(petaDb)
 {
 }
Beispiel #21
0
 public static void Register(PetaPoco.Database database, IMapper mapper)
 {
     if(!registry.ContainsKey(database)) registry.Add(database, mapper);
 }
        private void Save(PetaPoco.Database db, int[] ChannelOids = null)
        {
            if (!IsShared)
            {
                this.Name = this.Name.Trim();
                // sanity checks
                if (String.IsNullOrWhiteSpace(this.Name))
                    throw new ArgumentException("Name must not be blank.");
                if (db.FirstOrDefault<int>("select count(*) from channelgroup where useroid = @0 and name = @1 and oid <> @2", this.UserOid, this.Name, this.Oid) > 0)
                    throw new ArgumentException("A group with the name '{0}' already exists.".FormatStr(this.Name));
            }

            if (this.Oid == 0) // new group
            {
                this.OrderOid = db.FirstOrDefault<int>("select ifnull(max(orderoid),0) + 1 from channelgroup where useroid = @0", this.UserOid);
                if (this.IsShared)
                {
                    // special case, insert missing shared, so need to make sure name isnt inserted as it comes from the parent channel group
                    this.Name = "";

                }
                db.Insert("channelgroup", "oid", true, this);

                if (this.Oid < 1)
                    throw new Exception("Failed to insert channel group.");
            }
            else // update
            {
                // only allow updating of the name here.. maybe add order too?
                if(IsShared)
                    db.Update(this, this.Oid, new string[] { "orderoid", "enabled" });
                else
                    db.Update(this, this.Oid, new string[] { "name", "orderoid" });
            }

            if (ChannelOids != null && !IsShared)
            {
                // insert the channels
                db.Execute("delete from channelgroupchannel where channelgroupoid = @0", this.Oid);

                foreach (int channeloid in ChannelOids)
                    db.Execute("insert into channelgroupchannel (channelgroupoid, channeloid) values (@0, @1)", this.Oid, channeloid);
            }
        }
 public ParameterInspector(PetaPoco.Database petaDb)
     : base(petaDb)
 {
 }
Beispiel #24
0
 private bool CheckAndUpdateRukus(PetaPoco.Database DBContext, IVerseRepository verseRepo)
 {
     if (DBContext != null && rukus.Count > 0)
     {
         Debug.WriteLine(string.Format("Inserting ruku data: {0}", rukus.Count));
         foreach (int ruku in rukus)
         {
             Verse vFound = verseRepo.Get(verse => verse.Chapter == this.ID && verse.Ayah == ruku);
             if (vFound != null)
             {
                 if (DBContext.Execute("insert into Ruku(ScriptId, AyahId) values (@0, @1)", vFound.ScriptId, vFound.Id) <= 0)
                 {
                     Debug.WriteLine("###### Error: chapter ruku data insertion failed ######");
                     return false;
                 }
             }
             else
             {
                 Debug.WriteLine("###### Error: chapter ruku data insertion failed. Couldn't find the related verse data from DB. ######");
                 return false;
             }
         }
     }
     return true;
 }
 public ViewInspector(PetaPoco.Database petaDb)
     : base(petaDb)
 {
 }
Beispiel #26
0
 private bool CheckAndUpdateSajdas(PetaPoco.Database DBContext, IVerseRepository verseRepo)
 {
     if (DBContext != null && sajdas.Count > 0)
     {
         Debug.WriteLine(string.Format("Inserting sajda data: {0}", sajdas.Count));
         foreach (int sajda in sajdas)
         {
             Verse vFound = verseRepo.Get(verse => verse.Chapter == this.ID && verse.Ayah == sajda);
             if (vFound != null)
             {
                 if (DBContext.Execute("insert into Sajda(AyahId) values (@0)", vFound.Id) <= 0)
                 {
                     Debug.WriteLine("###### Error: chapter sajda data insertion failed ######");
                     return false;
                 }
             }
             else
             {
                 Debug.WriteLine("###### Error: chapter sajda data insertion failed. Couldn't find the related verse data from DB. ######");
                 return false;
             }
         }
     }
     return true;
 }
Beispiel #27
0
 public UserMovieDAO(PetaPoco.Database db)
     : base(db)
 {
 }
 public IndexInspector(PetaPoco.Database petaDb)
     : base(petaDb)
 {
 }
Beispiel #29
0
 public static void Resolve(PetaPoco.Database dataBase, string tipo,  string tableName, int id)
 {
     dataBase.Execute("CALL RESOLVE_TABLE_RELATION_DEPENDENCY('" + tipo + "', '" + tableName + "', " + id + ")");
 }
 public DashboardController(PetaPoco.Database database)
     : base(database)
 {
 }