/// <summary> /// Retorna todos os elementos do domínio na ordem em que aparecem na sua definição /// </summary> /// <param name="nomeDominio">Nome do domínio que se deseja ler os dados</param> /// <returns>Lista com os elementos do tipo Cod,Descrição para utilização no sistema em geral</returns> public static ArrayList GetDominios(String nomeDominio, IWorkspace ws) { IWorkspaceDomains workSpaceDomains = (IWorkspaceDomains)ws; System.Collections.IList valores = new System.Collections.ArrayList(); try { if (workSpaceDomains.get_DomainByName(nomeDominio) is ICodedValueDomain) { ICodedValueDomain codedDomain = (ICodedValueDomain)workSpaceDomains.get_DomainByName(nomeDominio); for (int i = 0; i < codedDomain.CodeCount; i++) { valores.Add(new ListItem(codedDomain.get_Value(i).ToString(), codedDomain.get_Name(i).ToString())); } } else // Domínio de Range { IRangeDomain rangeDomain = (IRangeDomain)workSpaceDomains.get_DomainByName(nomeDominio); for (int i = Convert.ToInt32(rangeDomain.MinValue); i < Convert.ToInt32(rangeDomain.MaxValue); i++) { valores.Add(new ListItem(i.ToString(), i.ToString())); } } } catch (Exception) { throw new Exception("Erro ao tentar capturar domínio " + nomeDominio); } //ordendando a lista System.Collections.ArrayList listaOrdenada = new System.Collections.ArrayList((System.Collections.ICollection)valores); System.Collections.IComparer ordernador = new OrdenaListItem(); listaOrdenada.Sort(ordernador); return listaOrdenada; }
/// <summary> /// Retorna todos os elementos do domínio na ordem em que aparecem na sua definição /// </summary> /// <param name="nomeDominio">Nome do domínio que se deseja ler os dados</param> /// <returns>Lista com os elementos do tipo Cod,Descrição para utilização no sistema em geral</returns> public ArrayList Dominios(String nomeDominio, IWorkspace ws) { var workSpaceDomains = (IWorkspaceDomains)ws; System.Collections.IList valores = new System.Collections.ArrayList(); if (workSpaceDomains.get_DomainByName(nomeDominio) is ICodedValueDomain) { var codedDomain = (ICodedValueDomain)workSpaceDomains.get_DomainByName(nomeDominio); for (int i = 0; i < codedDomain.CodeCount; i++) { valores.Add(new ListItem(codedDomain.get_Value(i).ToString(), codedDomain.get_Name(i).ToString())); } } else // Domínio de Range { var rangeDomain = (IRangeDomain)workSpaceDomains.get_DomainByName(nomeDominio); for (var i = Convert.ToInt32(rangeDomain.MinValue); i < Convert.ToInt32(rangeDomain.MaxValue); i++) { valores.Add(new ListItem(i.ToString(), i.ToString())); } } //ordendando a lista var listaOrdenada = new ArrayList(valores); IComparer ordernador = new OrdenaListItem(); listaOrdenada.Sort(ordernador); return listaOrdenada; }