Esempio n. 1
0
        /// <summary>
        /// Pega o íncido do elemento da coleção
        /// </summary>
        /// <param name="pIndex">Indice ou chave</param>
        /// <param name="pSearchKey">Método de pesquisa da chave</param>
        /// <returns>Um inteiro contendo o indice da coleção</returns>
        public int GetIndex(object pIndex, BoSearchKey pSearchKey)
        {
            var index = -1;

            switch (pSearchKey)
            {
            case BoSearchKey.psk_ByValue:

                var value = valuesCollection.FirstOrDefault(
                    c => c.Value.ToString() == pIndex.ToString());

                if (value != null)
                {
                    index = valuesCollection.IndexOf(value);
                }

                break;

            case BoSearchKey.psk_ByDescription:

                var valueDesc = valuesCollection.FirstOrDefault(
                    c => c.Description == pIndex.ToString());

                if (valueDesc != null)
                {
                    index = valuesCollection.IndexOf(valueDesc);
                }

                break;

            case BoSearchKey.psk_Index:
                index = (int)pIndex;
                break;

            default:
                throw new NotSupportedException("Valor para BoSearchKey não suportado");
            }

            return(index);
        }
Esempio n. 2
0
 /// <summary>
 /// Remove um elemento da coleção
 /// </summary>
 /// <param name="Index">Chave ou Indice</param>
 /// <param name="pSearchKey">Método de pesquisa da chave</param>
 public void Remove(object Index, BoSearchKey SearchKey)
 {
     valuesCollection.RemoveAt(GetIndex(Index, SearchKey));
 }