public AcaoUpdate(XMLComandoSQL cmd)
     : base(cmd, TipoAcao.Update)
 {
     camposChaves = cmd.CamposChaves;
     TabelaDestino = cmd.TabelaDestino;
     ConexaoOrigem = cmd.ConexaoOrigem;
 }
 public AcaoInsert(XMLComandoSQL cmd)
     : base(cmd, TipoAcao.Insert)
 {
     ManterDadosDestino = cmd.ManterDadosDestino;
     TabelaDestino = cmd.TabelaDestino;
     ConexaoOrigem = cmd.ConexaoOrigem;
 }
        public AcaoBase(XMLComandoSQL cmd, TipoAcao tipo)
        {
            configuracao = Configuracao.Instance;

            this.cmdSQL = cmd;
            idComando = int.Parse(cmd.Proprietario.ID);
            Titulo = cmd.Titulo;
            this.TipoAcao = tipo;
            ComandoSQL = cmd.ComandoSQL;
            ConexaoOrigem = cmd.ConexaoOrigem;
            ConexaoDestino = cmd.ConexaoDestino;
        }
        public int Executar(XMLComandoSQL cmdSQL)
        {
            int ret = 0;
            AcaoBase acao = Fabrica.Acao(cmdSQL);
            if (acao != null)
            {
                acao.RotinaOnFinaliza = FRotinaOnFinaliza;
                acao.RotinaOnProgresso = FRotinaOnProgresso;
                acao.RotinaOnInicializa = FRotinaOnInicializa;
                acao.OnAtualizaRotinaAtual = OnAtualizaRotinaAtual;

                ret = acao.Executar();
            }
            return ret;
        }
        public static AcaoBase Acao(XMLComandoSQL Comando)
        {
            AcaoBase ret = null;

            if (!string.IsNullOrWhiteSpace(Comando.Tipo))
            {
                var classes = Assembly.GetExecutingAssembly().GetTypes().ToDictionary(
                    t => t.FullName, t=> t, StringComparer.OrdinalIgnoreCase);

                Type classe;
                //Procura com o prefixo AtualDiaria.Rotinas.Acao
                if (classes.TryGetValue("atualdiaria.rotinas.acao" + Comando.Tipo.ToLower(), out classe))
                {
                    ret = (AcaoBase)Activator.CreateInstance(classe, new object[] { Comando });
                }
                //Procura sem o prefixo Acao
                else if (classes.TryGetValue("atualdiaria.rotinas." + Comando.Tipo.ToLower(), out classe))
                {
                    ret = (AcaoBase)Activator.CreateInstance(classe, new object[] { Comando });
                }
            }

            return ret;
        }
 protected virtual void DoGeralProgresso(XMLComandoSQL cmd, int APorcentagem)
 {
     if (FGeralOnProgresso != null)
         FGeralOnProgresso(cmd, APorcentagem);
 }
 public AcaoComandos(XMLComandoSQL cmd) : base(cmd, TipoAcao.Comandos)
 {
     ConexaoOrigem = cmd.ConexaoOrigem;
 }
 public AcaoEnviarEmail(XMLComandoSQL cmd)
     : base(cmd, TipoAcao.EnviarEmail)
 {
 }
 public AcaoManutencao(XMLComandoSQL cmd, TipoAcao tipo)
     : base(cmd, tipo)
 {
     pacote = cmd.TamanhoPacote;
     Comandos = new List<string>();
 }
 public AcaoTabelaTemp(XMLComandoSQL cmd)
     : base(cmd, TipoAcao.TabelaTemp)
 {
 }
 public AcaoComando(XMLComandoSQL cmd) : base(cmd, TipoAcao.Comando) { }
 public AcaoEMailIndividual(XMLComandoSQL cmd)
     : base(cmd, TipoAcao.EMailIndividual)
 {
 }
 public AcaoInterromper(XMLComandoSQL cmd) : base(cmd, TipoAcao.Interromper) { }
 public ImportaFoto(XMLComandoSQL cmd)
     : base(cmd)
 {
     TipoAcao = Rotinas.TipoAcao.ImportaFoto;
 }
 public ImportaBase(XMLComandoSQL cmd)
     : base(cmd)
 {
 }