private byte[] MakeDomainOptionsHandler(NameValueCollection boundVariables, JsonObject operationInput, string outputFormat, string requestProperties, out string responseProperties) { responseProperties = null; string strSDELayerName; bool found = operationInput.TryGetString("SDEName", out strSDELayerName); if (!found || string.IsNullOrEmpty(strSDELayerName)) { throw new ArgumentNullException("SDEName"); } string strFieldName; found = operationInput.TryGetString("fieldname", out strFieldName); if (!found || string.IsNullOrEmpty(strSDELayerName)) { throw new ArgumentNullException("fieldname"); } IStandaloneTable pStandAloneTable = GetLayerfromSDE(strSDELayerName); IField pField; Dictionary <string, string> dicDomainValues; option opt = new option(); opt.Result = "OK"; List <Dictionary <string, string> > lstDics = new List <Dictionary <string, string> >(); int iFieldIndex = pStandAloneTable.Table.Fields.FindField(strFieldName); if (iFieldIndex != -1) { pField = pStandAloneTable.Table.Fields.get_Field(iFieldIndex); IDomain pDomain; pDomain = pField.Domain; if (pDomain != null) { ICodedValueDomain pCodedValueDomain; pCodedValueDomain = pDomain as ICodedValueDomain; if (pCodedValueDomain != null) { for (int k = 0; k <= pCodedValueDomain.CodeCount - 1; k++) { dicDomainValues = new Dictionary <string, string>(); string name = pCodedValueDomain.get_Value(k).ToString(); string value = pCodedValueDomain.get_Name(k).ToString(); dicDomainValues.Add("DisplayText", value); dicDomainValues.Add("Value", name); lstDics.Add(dicDomainValues); } } } } else { opt.Result = "Field not found"; } JsonObject result = new JsonObject(); result.AddString("Result", opt.Result); result.AddObject("Options", lstDics); return(Encoding.UTF8.GetBytes(result.ToJson())); }
private byte[] MakeDomainOptionsHandler(NameValueCollection boundVariables, JsonObject operationInput, string outputFormat, string requestProperties, out string responseProperties) { responseProperties = null; string strSDELayerName; bool found = operationInput.TryGetString("SDEName", out strSDELayerName); if (!found || string.IsNullOrEmpty(strSDELayerName)) throw new ArgumentNullException("SDEName"); string strFieldName; found = operationInput.TryGetString("fieldname", out strFieldName); if (!found || string.IsNullOrEmpty(strSDELayerName)) throw new ArgumentNullException("fieldname"); IStandaloneTable pStandAloneTable = GetLayerfromSDE(strSDELayerName); IField pField; Dictionary<string, string> dicDomainValues; option opt = new option(); opt.Result = "OK"; List<Dictionary<string, string>> lstDics = new List<Dictionary<string, string>>(); int iFieldIndex = pStandAloneTable.Table.Fields.FindField(strFieldName); if (iFieldIndex != -1) { pField = pStandAloneTable.Table.Fields.get_Field(iFieldIndex); IDomain pDomain; pDomain = pField.Domain; if (pDomain != null) { ICodedValueDomain pCodedValueDomain; pCodedValueDomain = pDomain as ICodedValueDomain; if (pCodedValueDomain != null) { for (int k = 0; k <= pCodedValueDomain.CodeCount - 1; k++) { dicDomainValues = new Dictionary<string, string>(); string name = pCodedValueDomain.get_Value(k).ToString(); string value = pCodedValueDomain.get_Name(k).ToString(); dicDomainValues.Add("DisplayText", value); dicDomainValues.Add("Value", name); lstDics.Add(dicDomainValues); } } } } else { opt.Result = "Field not found"; } JsonObject result = new JsonObject(); result.AddString("Result", opt.Result); result.AddObject("Options", lstDics); return Encoding.UTF8.GetBytes(result.ToJson()); }