public static ITabelasECampos GetTabelasECampos(TipoDeBancoDados tipoDeBancoDados)
        {
            if(tipoDeBancoDados == TipoDeBancoDados.Sqlserver)
            {
                return new TabelasECamposSqlServer();
            }

            return null;
        }
        public GeraMapeamentos(TipoDeBancoDados tipoDeBancoDados)
        {
            _tipoDeBancoDados = tipoDeBancoDados;
            _tabelasECampos = TabelasECamposFactory.GetTabelasECampos(_tipoDeBancoDados);
            _convertParaTipoCShap = new ConvertParaTipoCShap(_tipoDeBancoDados);

            if (_tipoDeBancoDados == TipoDeBancoDados.Sqlserver)
            {
                _abre = "[";
                _fecha = "]";
            }
        }
        public static IConexao GetConexao(TipoDeBancoDados tipoDeBancoDados)
        {
            if(tipoDeBancoDados == TipoDeBancoDados.Sqlserver)
            {
                return ConexaoSqlServer.GetInstace();
            }
            if(tipoDeBancoDados == TipoDeBancoDados.Oracle)
            {
                return ConexaoOracle.GetInstace();
            }

            return null;
        }
        private void btnGeraArquivos_Click(object sender, RoutedEventArgs e)
        {
            ListaComaAsTabelas();
            _tipoDeBanco = RetornaTipoDeBancoDeDados();
            _geraEntidades = new GeraEntidades(_tipoDeBanco);

            if (_listacomastabelas.Count() > 0)
            {
                var openFileDialog = new OpenFileDialog();

                openFileDialog.DefaultExt = ".csproj";
                openFileDialog.Filter = "csproj files (*.csproj)|*.csproj";

                var result = openFileDialog.ShowDialog();

                if (result == true)
                {

                    _caminhoDoArquivoProj = openFileDialog.FileName;
                    _namesPace = openFileDialog.SafeFileName;
                    _caminho = _caminhoDoArquivoProj.Substring(0, _caminhoDoArquivoProj.Length - _namesPace.Length);
                    _namesPace = _namesPace.Substring(0, _namesPace.Length - 7);

                    SetaPropriedadesDeGeraEntidade();

                    _lazy = chkLazy.SelectedIndex == 0;

                    if (!string.IsNullOrWhiteSpace(_caminho))
                    {
                        var trd = new Thread(GeraOsArquivos) {IsBackground = true};
                        trd.Start();
                    }

                    GeracaoDaClasseNHibernateHelp();

                    var moverArquivos = new MoverArquivos();
                    moverArquivos.CopiaAsDLLNHibernate(_caminho);

                    var referenciaAsDllnHiberante = new ReferenciaAsDLLNHiberante();
                    referenciaAsDllnHiberante.FazReferenciaAsDllNHibernate(_caminhoDoArquivoProj);

                }

            }
            else
            {
                MessageBox.Show("É necessário uma ou mais tabelas.", "Atenção!", MessageBoxButton.OK, MessageBoxImage.Information);

            }
        }
 public ConvertParaTipoCShap(TipoDeBancoDados tipoDeBancoDados)
 {
     _tipoDeBancoDados = tipoDeBancoDados;
 }
 public TabelasECamposSqlServer()
 {
     _tipoDeBancoDados = TipoDeBancoDados.Sqlserver;
 }