Esempio n. 1
0
        public static List <T> GetAll <T>(this IDBDirect context)
            where T : IDBDirect, new()
        {
            var con = new DBContent(context, context.GetDbConnection());

            var list = new List <T>();

            using (Database db = context.GetDbConnection())
            {
                using (var r = db.Select(con.Selects).From(con.Table)
                               .Query())
                    while (r.Read())
                    {
                        T obj = new T();
                        list.Add(obj);
                        con.context = obj;
                        foreach (var f in con.Fields)
                        {
                            f.SetValue(r);
                        }
                    }
                con.context = context;
            }
            return(list);
        }
Esempio n. 2
0
        public static bool Delete(this IDBDirect context)
        {
            var con = new DBContent(context, context.GetDbConnection());
            var pk  = con.PrimaryKey;

            using (Database db = context.GetDbConnection())
            {
                return(db.Delete(con.Table).Where("@0 = @1", pk.Name, pk.GetValue()).Execute() == 1);
            }
        }
Esempio n. 3
0
        public static int Add(this IDBDirect context)
        {
            var con = new DBContent(context, context.GetDbConnection());

            using (Database db = context.GetDbConnection())
            {
                db.Insert(con.Table).Keys(con.Inserts)
                .Values(con.Values).Execute();
                int pk = db.GetLatestID();
                con.PrimaryKey.SetRawValue(pk);
                return(pk);
            }
        }
Esempio n. 4
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);
            }
        }
Esempio n. 5
0
        public static bool Get(this IDBDirect context)
        {
            var con = new DBContent(context, context.GetDbConnection());
            var pk  = con.PrimaryKey;

            using (Database db = context.GetDbConnection())
            {
                using (var data = db.Select(con.Selects).From(con.Table)
                                  .Where("@0 = @1", pk.Name, pk.GetValue()).QuerySingle())
                {
                    if (data)
                    {
                        foreach (var f in con.Fields.FindAll(p => p.Name != pk.Name))
                        {
                            f.SetValue(data);
                        }
                        return(true);
                    }
                }
            }
            return(false);
        }