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]); } } } }
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; }
public void SetDb(PetaPoco.Database db) { this.db = db; SelectAll(); }
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) { }
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; }
public static IMapper LookupMapper(PetaPoco.Database database) { if (!registry.ContainsKey(database)) return null; else return registry[database]; }
public TableFunctionInspector(PetaPoco.Database petaDb) : base(petaDb) { }
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; }
private static void ExtraStuff( PetaPoco.Database db ) { db.Execute( "CREATE UNIQUE INDEX IF NOT EXISTS MemberDogIndex ON MemberDog ( MemberId, DogId )" ); }
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; }
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) { }
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) { }
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) { }
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; }
public UserMovieDAO(PetaPoco.Database db) : base(db) { }
public IndexInspector(PetaPoco.Database petaDb) : base(petaDb) { }
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) { }