public static IQueryBuilder BuildUpdateQuery(CustomForm form, CustomObject o) { var tableName = GetPrefixedTableName(ref form); if (!(o.Get("Id") is long) || ((o.Get("Id") as long?) ?? 0) < 1) { throw new Exception("Can't build an update query for an object that has no Id"); } uint seq = 0; QueryBuilder retv = new QueryBuilder(); retv.Append($"UPDATE {tableName} SET "); for (var i = 0; i < form.Fields.Count; i++) { retv.Append($"{form.Fields[i].Name}=@_uq{++seq}", o.Get(form.Fields[i].Name)); } /* LMAO GET RID */ if (o.Get("RID") != null) { retv.Append($"RID=@_uq{++seq}", o.Get("RID")); } else { retv.Append($"RID=@_uq{++seq}", IntEx.GenerateUniqueRID()); } retv.Append($"WHERE Id=@_uq{++seq};", o.Get("Id")); return(retv); }
public static List <CustomObject> LoadRaw(IRdbmsDataAccessor rda, CustomForm cf, IDictionary <String, Object> conditions = null, int?p = 1, int?l = 200) { var tableName = GetPrefixedTableName(ref cf); DataTable results = rda.Query(BuildSelectQuery(cf, conditions, p, l)); var retv = new List <CustomObject>(); for (var i = 0; i < results.Rows.Count; i++) { CustomObject co = new CustomObject(); co.Set("Id", results.Rows[i]["Id"]); for (var a = 0; a < cf.Fields.Count; a++) { co.Set(cf.Fields[a].Name, results.Rows[i][cf.Fields[a].Name]); } co.Set("RID", results.Rows[i]["RID"]); if (co.Get("RID") == null) { co.Set("RID", IntEx.GenerateUniqueRID()); } retv.Add(co); } return(retv); }
public CustomObject(Object input) { if (input is JObject) { Object = (input as JObject).ToObject <Dictionary <String, Object> >(); } else { var Fields = input.GetType().GetFields(); foreach (var a in Fields) { Set(a.Name, a.GetValue(input)); } } if (Get("RID") == null) { Set("RID", IntEx.GenerateUniqueRID()); } }
public static IQueryBuilder BuildInsertQuery(CustomForm form, CustomObject o) { var tableName = GetPrefixedTableName(ref form); QueryBuilder retv = new QueryBuilder(); retv.Append($"INSERT INTO {tableName} ("); for (var i = 0; i < form.Fields.Count; i++) { retv.Append($"{form.Fields[i].Name},"); } retv.Append("RID"); retv.Append(") VALUES ("); int seq = 0; for (var i = 0; i < form.Fields.Count; i++) { retv.Append($"@_sq{seq++},", o.Get(form.Fields[i].Name)); } retv.Append($"@_sq{seq++})", IntEx.GenerateUniqueRID()); return(retv); }
public static Object LoadByRid(IRdbmsDataAccessor rda, CustomForm cf, String rid) { DataTable results = rda.Query(BuildSelectByRidQuery(cf, rid)); var retv = new List <CustomObject>(); for (var i = 0; i < results.Rows.Count; i++) { CustomObject co = new CustomObject(); co.Set("Id", results.Rows[i]["Id"]); for (var a = 0; a < cf.Fields.Count; a++) { co.Set(cf.Fields[a].Name, results.Rows[i][cf.Fields[a].Name]); } co.Set("RID", results.Rows[i]["RID"]); if (co.Get("RID") == null) { co.Set("RID", IntEx.GenerateUniqueRID()); } return(co.Refine()); } return(null); }
public CustomObject() { Set("RID", IntEx.GenerateUniqueRID()); }