/// <summary> /// json object representation of dataset /// --has table or tables - /// -- /// </summary> /// <param name="sqlIn">sql param datacontract </param> /// <returns> /// json dataset</returns> public JsonResult JDataSetWithCode(SqlParamsIn sqlIn) { SqlHelper h = new SqlHelper(); Ctx ctx = Session["ctx"] as Ctx; h.SetContext(ctx); if (sqlIn.sql.IndexOf("~") > -1) { string[] sql = sqlIn.sql.Split('~'); for (int i = 0; i < sql.Length; i++) { if (i == 0) { sqlIn.sql = QueryCollection.GetQuery(sql[i], ctx); } else { sqlIn.sql += "~" + QueryCollection.GetQuery(sql[i], ctx); } } } else { sqlIn.sql = QueryCollection.GetQuery(sqlIn.sql, ctx); } object data = h.ExecuteJDataSet(sqlIn); return(Json(JsonConvert.SerializeObject(data), JsonRequestBehavior.AllowGet)); }
public void DoNotDuplicateQueryWhenCallingGetQuery() { var collection = new QueryCollection(); var user = new User("Test"); var query = new Query(user); collection.Add(query); var query2 = collection.GetQuery(user); Assert.Single(collection); Assert.Same(query, query2); }
/// <summary> /// /// Execute Multiple queries and return result of each query in a list /// /// </summary> /// <param name="sql">sql splitted by '/'</param> /// <param name="lstParams">Parameters for each query </param> /// <returns> /// json dataset</returns> public JsonResult ExecuteNonQueryWithCode(SqlParamsIn sqlIn) { SqlHelper h = new SqlHelper(); Ctx ctx = Session["ctx"] as Ctx; h.SetContext(ctx); //sqlIn.sql = SecureEngineBridge.DecryptByClientKey(sqlIn.sql, ctx.GetSecureKey()); sqlIn.sql = QueryCollection.GetQuery(sqlIn.sql, ctx); object data = h.ExecuteNonQuery(sqlIn); return(Json(JsonConvert.SerializeObject(data), JsonRequestBehavior.AllowGet)); }