private List <ExtIdMapState> GetIdMappings(int?id)
        {
            IDbCommand cmd;
            string     strSQL;

            Tebaldi.MarketData.Models.State.ExtIdMapState obj = new ExtIdMapState();


            strSQL = "procGetExtIdMap";

            cmd             = DataLayer.CreateCommand(strSQL, mstrConnectString);
            cmd.CommandType = CommandType.StoredProcedure;
            if (id != null)
            {
                cmd.Parameters.Add(DataLayer.CreateParameter("@Id", DbType.Int32, id, mstrConnectString));
            }

            DataSet ds = DataLayer.GetDataSet(cmd, mstrConnectString);


            List <ExtIdMapState> lst = (from dr in ds.Tables[0].AsEnumerable()
                                        select new State.ExtIdMapState()
            {
                Id = Convert.ToInt32(dr[obj.Schema.Id]),
                ExtId = Convert.ToString(dr[obj.Schema.ExtId]),
                TebBizAtivoId = Convert.ToInt32(dr[obj.Schema.TebBizAtivoId]),
                Ticker = Convert.ToString(dr[obj.Schema.Ticker])
            }).ToList();

            return(lst);
        }
        //protected void FillInParameters(EmpresaState empresa, IDbCommand cmd)
        //{
        //    throw new NotImplementedException();

        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.IdCliente, DbType.Int32, mov.IdCliente));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.Data, DbType.DateTime, mov.Data));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.Evento, DbType.String, mov.Evento));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.Ticker, DbType.String, mov.Ticker));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.Quantidade, DbType.Int32, mov.Quantidade));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.Valor, DbType.Decimal, mov.Valor));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.Tipo, DbType.Int32, mov.Tipo));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.FluxoDeAtivo, DbType.Int32, mov.FluxoDeAtivo));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.ValorContabil, DbType.Decimal, mov.ValorContabil));
        //    //cmd.Parameters.Add(DataLayer.CreateParameter("@" + mov.Schema.Lucro, DbType.Decimal, mov.Lucro));
        //}
        #endregion

        #region "Ext Id Map Data Modification Methods"

        public virtual void Validate(ExtIdMapState item)
        {
            string strMsg = string.Empty;

            if (String.IsNullOrEmpty(item.ExtId))
            {
                strMsg += "Identificador externo do ativo invalido." + Environment.NewLine;
            }

            if (String.IsNullOrEmpty(item.Ticker))
            {
                strMsg += "O Ticker deve ser preenchido." + Environment.NewLine;
            }

            if (item.Id < 0)
            {
                strMsg += "O identificador deve ser positivo." + Environment.NewLine;
            }

            if (item.TebBizAtivoId < 0)
            {
                strMsg += "O identificador (TebaldiBiz.Id) deve ser positivo." + Environment.NewLine;
            }

            if (strMsg != string.Empty)
            {
                throw new TebaldiMarketDataException(strMsg);
            }
        }
        public ExtIdMapState GetIdMapping(int id)
        {
            ExtIdMapState obj = GetIdMappings(id).Find(f => f.Id == id);

            return(obj);
        }