Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }