int Update(string Table, List <ColumnControl> stack, BuiltCondition condition, DatabaseLogger logger) { var upd = Update(Table); UpdateQueryer.Pairer pairer = null; foreach (var col in stack) { pairer = upd.Pair(col.Key, col.Value); } Ender query = pairer; if (condition != null) { query = pairer.WhereCondition(condition); } try { int updated = query.Execute(); logger.Add(new DatabaseLog { Level = updated == 0? LogLevel.Warning : LogLevel.Info, Query = query.FullQuery, Message = updated == 0? "No rows were updated" : $"Updated {updated} rows" }); return(updated); } catch (Exception e) { logger.Add(new DatabaseLog { Level = LogLevel.Error, Query = query.FullQuery, Message = e.Message }); throw; } }
public static bool Update(this IDBDirect context) { var con = new DBContent(context, context.GetDbConnection()); using (Database db = context.GetDbConnection()) { var upd = db.Update(con.Table); UpdateQueryer.Pairer pairer = null; var pk = con.PrimaryKey; foreach (var p in con.UpdatePairs) { pairer = upd.Pair(p.Key, p.Value); } return(pairer.Where("@0 = @1", pk.Name, pk.GetValue()).Execute() == 1); } }