<%@ WebService Language="C#" Class="GetValueForUser" %> using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using AppPortal.Business; using AppPortal.Business.Common; using System.Text; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Collections.Generic; using AppPortal.Business.Altiris; using System.Collections; using System.Data.OleDb; using System.IO; [WebService(Namespace = "http://flexerasoftware.com/AppPortal")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class GetValueForUser : System.Web.Services.WebService { [WebMethod] public string GetCM7ConnectionString() { return ESDConfig.getSCCMConnString(DeploymentTechnologies.SCCM2007); } [WebMethod] public string GetCM12ConnectionString() { return ESDConfig.getSCCMConnString(DeploymentTechnologies.SCCM2012); } [WebMethod] public DataTable GetUserDiscoveryValueForUserDefineAnswers(String username, String columnName) { SqlDataAdapter da; DataTable value = new DataTable(); DataTable answers = new DataTable(); answers.Columns.Add("AnswerText", typeof(string)); // displayed to user answers.Columns.Add("AnswerReturnValue", typeof(string)); DataRow dr = null; try { //get value from sccm String sql = String.Format("select {0} from v_R_User where User_Name0 = '{1}'", columnName, username); Log.l1("query = " + sql, "MyWebService.log", 0); da = new SqlDataAdapter(sql, GetCM12ConnectionString()); da.Fill(value); // String queryValue = value.Rows[0][columnName].ToDbString(); String queryValue = value.Rows[0][0].ToDbString(); Log.l1("queryValue = " + queryValue, "MyWebService.log", 0); //Format question responses with value returned from query. dr = answers.NewRow(); dr["AnswerText"] = "Yes, the value " + queryValue + " is correct"; dr["AnswerReturnValue"] = "yes"; answers.Rows.Add(dr); dr = answers.NewRow(); dr["AnswerText"] = "No, the value " + queryValue + " is not correct"; dr["AnswerReturnValue"] = "no"; answers.Rows.Add(dr); } catch (Exception ex) { Log.l("", ex, "MyWebService.log"); } answers.TableName = "answers"; return answers; } [WebMethod] public DataTable GetUserDiscoveryValueForUser(String username, String columnName) { SqlDataAdapter da; DataTable value = new DataTable(); value.Columns.Add("DisplayText", typeof(string)); value.Columns.Add("QuestionValue", typeof(string)); try { String sql = String.Format("select '{0}' from v_R_User where User_Name0 = '{1}'", columnName, username); Log.l1("query = " + sql, "MyWebService.log", 0); da = new SqlDataAdapter(sql, GetCM12ConnectionString()); da.Fill(value); } catch (Exception ex) { Log.l("", ex, "MyWebService.log"); } value.TableName = "returnedValue"; return value; } }