Exemplo n.º 1
0
        /// <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;
        }
Exemplo n.º 2
0
        /// <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;
        }