private void CarregarProcessos(Processo p, TreeNodeCollection n) { IList <Processo> procs = null; if (rdbLocal.Checked) { procs = new AcessoDados.DAO.BaseDAO <Processo>().Retorna(x => x.ProcessoPai == p && x.Maquina == System.Environment.MachineName).OrderBy(x => x.Nome).ToList <Processo>(); } else { procs = new AcessoDados.DAO.BaseDAO <Processo>().Retorna(x => x.ProcessoPai == p && x.Maquina == "").OrderBy(x => x.Nome).ToList <Processo>(); } TreeNode tn = null; foreach (var item in procs) { tn = new TreeNode(item.Nome); tn.Tag = item; if (item.Inativo) { tn.ForeColor = Color.Silver; } n.Add(tn); CarregarProcessos(item, tn.Nodes); } }
public static void Replicacao(String origem, String destino) { IList <Processo> procsDestino = new List <Processo>(); if (!Util.Arquivos.ArquivoExiste(origem) || !Util.Arquivos.ArquivoExiste(destino)) { return; } BancoDados.Config(Auxil.AcessoDados.TipoConexao.SQLite, new string[] { origem }); BancoDados.AbrirSessao(); procDAO = new AcessoDados.DAO.BaseDAO <Processo>(); procsOrigem = procDAO.Retorna(x => x.ProcessoPai == null && !x.Inativo).OrderBy(x => x.Nome).ToList <Processo>(); Processo proc = null; foreach (var item in procsOrigem) { proc = new Processo(); proc.Nome = item.Nome; proc.Maquina = ""; proc.Valor = item.Valor; proc.Parametros = item.Parametros; proc.DataAlteracao = item.DataAlteracao; proc.CampoPesquisa = item.CampoPesquisa; proc.AreaTransf = item.AreaTransf; proc.CapturaRetorno = item.CapturaRetorno; proc.ValorPesquisavel = item.ValorPesquisavel; proc.MostrarValor = item.MostrarValor; proc.ExecutarValor = item.ExecutarValor; proc.Complemento = item.Complemento; proc.Inativo = false; //procDAO.Salvar(proc); ReplicaItem(item.Processos, proc); procsDestino.Add(proc); } BancoDados.FecharSessao(); BancoDados.Config(Auxil.AcessoDados.TipoConexao.SQLite, new string[] { destino }); BancoDados.AbrirSessao(); new AcessoDados.DAO.ProcessoDAO().ExcluiReplicados(null); procDAO = new AcessoDados.DAO.BaseDAO <Processo>(); /*IList<Processo> procsDestinoBase = procDAO.Retorna(x => x.Maquina == "" && x.ProcessoPai == null); * foreach (var item in procsDestinoBase) * { * ExcluirFilhos(item.Processos); * procDAO.Excluir(item); * }*/ foreach (var item in procsDestino) { procDAO.Salvar(item); SalvarFilhos(item.Processos); } BancoDados.FecharSessao(); }