public static void HandleUserLookup(HttpRequest Request, HttpResponse Response, Guid userId) { try { ClientControlsReader r = new ClientControlsReader(Request.InputStream); Response.ClearContent(); ClientControlsWriter w = new ClientControlsWriter(Response.OutputStream); w.Write(1); string query = Request["userquery"]; //Write result code if(query == null || query.Length == 0) { w.Write(-1); return; } else w.Write(0); query = "%"+query+"%"; ArrayList data = new ArrayList(); using(Db db = new Db()) { db.CommandText = @" SELECT id, fullNameClean as fullName, username, email FROM tMember WHERE fullName LIKE @q OR email LIKE @q OR username LIKE @q ORDER BY fullNameClean ASC "; db.AddParameter("@q", query); while(db.Read()) { UserInfo user = new UserInfo(); user.username = (string)db["username"]; user.id = (Guid)db["id"]; user.email = db["email"] as string; user.name = (string)db["fullName"]; data.Add(user); } } w.Write((int)data.Count); foreach(object o in data) { if(o is UserInfo) { w.Write((byte)0); UserInfo user = (UserInfo)o; w.Write(user.id.ToByteArray()); w.WriteString(user.username); w.WriteString(user.email); w.WriteString(user.name); } } int a = 3; } finally { Response.Flush(); Response.Close(); Response.End(); } }
public List<Cosa> Retrieve(int pageSize, int page, out long totalRows, string filtro, string filtro2 ) { List<Parameter> parametros = new List<Parameter>(); var db = new Db(); var sqlDataFields = " SELECT * "; var sqlScalarField = "SELECT COUNT(datakey) "; var sqlDataFrom = new StringBuilder(" FROM toomuchdata "); bool first = true; var parmList = new List<object>(); if(filtro!=null) { sqlDataFrom.AppendFormat(first ? " WHERE " : " AND "); sqlDataFrom.AppendFormat(" fielddata1 LIKE :fielddata1"); parmList.AddRange(new[] { ":fielddata1", filtro }); parametros.Add(new Parameter()); first = false; } if (filtro2 != null) { sqlDataFrom.AppendFormat(first ? " WHERE " : " AND "); sqlDataFrom.AppendFormat(" fielddata1 LIKE :fielddata2"); parmList.AddRange(new[] { ":fielddata2", filtro2 }); first = false; } //Se saca el scalar var sqlScalar = string.Format("{0}{1}", sqlScalarField, sqlDataFrom); var limit = " LIMIT " + pageSize + " OFFSET " + (page - 1); sqlDataFrom.Append(limit); totalRows = (long)db.Scalar(sqlScalar,parmList.ToArray()); return db.Read(string.Format("{0}{1}", sqlDataFields, sqlDataFrom), Make2, parmList.ToArray()).ToList(); }