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 int Count(string Table, BuiltCondition Condition = null, DatabaseLogger Logger = null) { var frm = Select("COUNT(*)").From(Table); Ender ender = Condition == null ? (Ender)frm : frm.WhereCondition(Condition); try { using (var end = ender.QueryValue()) { Logger.Add(new DatabaseLog { Level = LogLevel.Info, Message = "checked exists", Query = ender.FullQuery }); return(end); } } catch (Exception e) { Logger.Add(new DatabaseLog { Level = LogLevel.Error, Message = e.Message, Query = ender.FullQuery }); throw; } }