Ejemplo n.º 1
0
        private async Task <List <TabelaEstrangeira> > RetornarListaTabelaEstrangeira(string tabela)
        {
            List <TabelaEstrangeira> itens = null;
            var    repositorio             = new SqlClient.Repositorio(IdServidor);
            string chavePrimaria           = "";
            string descricao = "";

            try
            {
                chavePrimaria = (await repositorio.RetornarColunasChavePrimariaTabelaAsync(tabela, Schema, Database))[0].Nome;
                descricao     = await repositorio.SelecionarDescricaoChaveEstrangeiraConfiguracaoTabelaAsync(Database, Schema, Nome, chavePrimaria);

                if (string.IsNullOrEmpty(descricao))
                {
                    descricao = (await repositorio.RetornarColunasAsync(Database, Schema, tabela)).FirstOrDefault().Nome;
                }
                itens = await repositorio.SelectTabelaAsync(chavePrimaria, descricao, tabela, Schema, Database);
            }
            catch (Exception)
            {
                throw;
            }
            return(itens);
        }
Ejemplo n.º 2
0
        public async Task <string> CarregarAsync(string tabela, string schema, string database, int idServidor, bool carregarFks = true)
        {
            Nome       = tabela;
            Schema     = schema;
            Database   = database;
            IdServidor = idServidor;
            Valores    = new List <object>();

            string retorno = string.Empty;

            SqlClient.Repositorio repositorio = new SqlClient.Repositorio(IdServidor);

            if (string.IsNullOrEmpty(Database))
            {
                throw new ArgumentException("Propriedade Database é obrigatória.");
            }

            if (string.IsNullOrEmpty(Nome))
            {
                throw new ArgumentException("Propriedade Nome da tabela é obrigatória.");
            }

            if (string.IsNullOrEmpty(Schema))
            {
                Schema = "DBO";
            }

            try
            {
                Valores           = null;
                ValoresMultilinha = null;
                ConsultaDados     = null;
                pkAlteracao       = string.Empty;

                Colunas = await repositorio.RetornarColunasAsync(Database, Schema, Nome);

                TodasColunas = new List <Coluna>();
                TodasColunas.AddRange(Colunas);
                CarregarNomesInput();
                TemChavePrimaria    = Colunas.Where(p => p.IsChavePrimaria).FirstOrDefault() != null;
                TemChaveEstrangeira = Colunas.Where(p => p.IsChaveEstrangeira).FirstOrDefault() != null;
                camposExibir        = await repositorio.SelecionarColunasVisiveisAsync(Database, Schema, Nome);

                ChavesPrimarias = await repositorio.RetornarColunasChavePrimariaTabelaAsync(Nome, Schema, Database);

                RemoverColunasIgnoradas();
                QuantidadeCampos = Colunas.Count;
                if (carregarFks)
                {
                    await CarregarColunasChaveEstrangeiraAsync();
                }
                IsIdentity = Colunas.FirstOrDefault().IsIdentity;
                await CarregarColunasFiltro();
            }
            catch (Exception ex)
            {
                retorno = ex.Message;
            }

            return(retorno);
        }