private DatabaseAdptorItem GetDatabaseAdptorItemForComponent(IComponent component, string appname, bool ismaster) { lock (p_DatabaseAdptors) { string dbtype; string connectstring = GetConnectStringForComponent(component, appname, ismaster, out dbtype); DatabaseAdptorItem a = SelectFromBuffer(dbtype, connectstring); if (a == null) { IDatabaseAdptor b = CreateNewDatabaseAdptorForComponent(dbtype, connectstring); if (b == null) { throw new NotFoundDatabaseAdptorException(component.ComponentId); } a = new DatabaseAdptorItem() { CnntString = connectstring, Adptor = b, DataSelector = new DataSelector(b) }; p_DatabaseAdptors.Add(a); } return(a); } }
private void UpdateToDatabase(IUpdateContext upd, IDatabaseAdptor db, IEnumerable <IUpdateContext> grouptocommit, IDataSelector dataselector) { if (!upd.SuccessUpdate) { var sql = upd.Update(db.DbTypeName); if (sql != null) { if (upd.UpdateDataNoty != null) { upd.UpdateDataNoty.BeforeChange(upd, grouptocommit, dataselector); } upd.SuccessCommitToDatabase(db.CommitToDatabase(sql)); if (upd.UpdateDataNoty != null) { upd.UpdateDataNoty.OnChanged(upd, grouptocommit, dataselector); } } } }
public DataSelector(IDatabaseAdptor db) { p_Db = db; }