public string insert(Andamento a, Processo p)
 {
     string sql = "INSERT INTO " + p.cliente + ".dbo.PROCESSO_ANDAMENTO"
                + "("
                  + "ID_PROCESSO_CADASTRO,"
                  + "ID_CONTROLE,"
                  + "DATA_ANDAMENTO,"
                  + "TEXTO"
                + ")"
              + "VALUES"
               + "("
                 + p.idProcessoCadastro + ","
                 + a.id + ","
                 + " '" + a.dia.Replace("'","''") + "',"
                 + " '" + a.texto.Replace("'", "''") + "'"
               + ");"
               + "SELECT SCOPE_IDENTITY() as idProcessoAndamento";
     try
     {
         //Console.WriteLine(sql);                
         return bd.insert(sql);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + "\r\n" + sql);
         insert(a,p);
         return "ERRO:" + ex.Message;
     }
 }
        public List<Andamento> selectAndamento(Andamento a, Processo p)
        {
            string sql = " SELECT "                       
                       + " [id_controle] "
                       + ",[data_andamento] "
                       + ",[texto] "        
                       + " FROM " + p.cliente + ".dbo.PROCESSO_ANDAMENTO"
                       + " WHERE "
                       + "     ID_PROCESSO_CADASTRO = " + p.idProcessoCadastro
                       + " AND DATA_ANDAMENTO = '" + a.dia.Replace("'", "''") + "'";
                       
            try
            {
                SqlDataReader reader = bd.select(sql);
                List<Andamento> lista_registros = new List<Andamento>();

                while (reader.Read())
                {
                    Andamento andamento = new Andamento();
                    andamento.id = int.Parse(reader[0].ToString());
                    andamento.dia = reader[1].ToString();
                    andamento.texto = reader[2].ToString();
                    lista_registros.Add(andamento);
                }
                return lista_registros;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public void delete(Processo p)
 {
     string sql = " DELETE FROM " + p.cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO_AGENDADO "
                + " WHERE N_PROCESSO = '" + p.numProcesso + "'" 
                + " AND ID = " + p.idProcesso;
     bd.delete(sql);
 }
 public void editar(object sender, EventArgs e)
 {
     Processo p = new Processo();
     if (this.Agendados.SelectedTab == this.Agendados.TabPages[0])
     {
         p = (Processo)dataGridViewAgendados.SelectedRows[0].DataBoundItem;
         new CadastrarView(p).ShowDialog();
     }
     else
     {
         MessageBox.Show("Favor selecionar um processo agendado para editar.");
     }
 }
 public void atualizar(object sender, EventArgs e)
 {
     Processo p = new Processo();
     if (this.Agendados.SelectedTab == this.Agendados.TabPages[1])
     {
         p = (Processo)dataGridViewCadastrados.SelectedRows[0].DataBoundItem;
         homeController.processoAndamentosTodos(p);
         listaAgendados();
         listaCadastrados();
     }
     else
     {
         MessageBox.Show("Favor selecionar um processo agendado para editar.");
     }
 }
 public string insert(Processo p)
 {
     string sql = "INSERT INTO " + p.cliente + ".dbo.PROCESSO_CADASTRO"
                + "("
                  + "CODIGO,"
                  + "EMAIL,"
                  + "N_PROCESSO,"
                  + "CODIGO_UNICO_PROCESSO,"
                  + "UF,"
                  + "COMARCA,"
                  + "TRIBUNAL,"
                  + "DATA_CADASTRO,"
                  + "PARTES,"
                  + "REU,"
                  + "AUTOR,"
                  + "FORUM,"
                  + "VARA,"
                  + "ULT_ANDAMENTO"
                + ")"
              + "VALUES"
               + "("
                 + "'" + p.codEscritorio + "',"
                 + " '" + p.emails + "',"
                 + " '" + p.numProcesso + "',"
                 + " '" + p.numProcesso + "',"
                 + " '" + p.uf + "',"
                 + " '" + p.comarca + "',"
                 + " '" + p.tribunal + "',"
                 + " getdate(),"
                 + " '" + p.partes + "',"
                 + " '" + p.reu + "',"
                 + " '" + p.autor + "',"
                 + " '" + p.forum + "',"
                 + " '" + p.vara + "',"
                 + " '" + p.ultAndamento + "'"
               + ");"
               + "SELECT SCOPE_IDENTITY() as codProcessoCadastrado";
     try
     {
         //Console.WriteLine(sql);                
         return bd.insert(sql);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         return "ERRO:" + ex.Message;
     }
 }
 public void cadastrar(Processo p)
 {
     ProcessoModel processoModel = new ProcessoModel();
     try
     {
         string result = processoModel.isProcessoCadastrado(p);
         if (result != "" || result != null)
         {
             string codUnico = agendadoModel.insert(p);
             MessageBox.Show("Processo nº: " + p.numProcesso + " cadastrado.");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
 public void update(Processo p)
 {             
     string sql = " UPDATE "+ p.cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO_AGENDADO"
                 +" SET"
                 + "   CODIGO                = " + "'" + p.codEscritorio + "'"
                 + "  ,EMAIL                 = " + "'" + p.emails + "'"
                 + "  ,N_PROCESSO            = " + "'" + p.numProcesso + "'"
                 + "  ,CODIGO_UNICO_PROCESSO = " + "'" + p.numProcesso + "'"
                 + "  ,UF                    = " + "'" + p.uf + "'"
                 + "  ,COMARCA               = " + "'" + p.comarca + "'"
                 + "  ,TRIBUNAL              = " + "'" + p.tribunal + "'"
                 + "  ,TENTATIVAS            = " + p.tentativas
                 + "  ,PARTES                = " + "'" + p.partes + "'"
                 + "WHERE "
                 + "    CODIGO_UNICO_PROCESSO = '" + p.codUnicoProcesso + "'"
                 + "AND ID = " + p.idProcesso;
     bd.update(sql);
 }
        public CadastrarView(Processo processo = null)
        {
            this.processo = processo;
            InitializeComponent();
            homeController = new HomeController();
            listaComboboxCliente();
            listaComboboxTribunal();
            listaComboboxUf();

            if (this.processo != null)
            {
                this.btnCadastrar.Text = "Editar";
                this.Text = "Editar processo eletrônico";
                setCampos(this.processo);
                this.btnCadastrar.Click -= new System.EventHandler(this.cadastrar);
                this.btnCadastrar.Click += new System.EventHandler(this.editar);
            }
            else
                this.processo = new Processo();
        }
        public string isProcessoCadastrado(Processo p)
        {
            string sql = " SELECT "
                + "     N.N_PROCESSO "
                + " FROM "
                + "     ( SELECT N_PROCESSO FROM " + p.cliente + ".dbo.PROCESSO_CADASTRO_AGENDADO "
                + " UNION "
                + "     SELECT N_PROCESSO FROM " + p.cliente + ".dbo.PROCESSO_CADASTRO ) AS N"
                + " WHERE "
                + "     N.N_PROCESSO = '" + p.numProcesso + "'";

            SqlDataReader reader = bd.select(sql);
            DataTable dt = new DataTable();
            dt.Load(reader);
            if (dt.Rows.Count > 0)
            {
                return dt.Rows[0].ItemArray[0].ToString();
            }
            else
                return "";
        }
 public string insert(Processo p)
 {
     string sql = "INSERT INTO "+ p.cliente + ".dbo.PROCESSO_CADASTRO_AGENDADO"
                + "("
                  +"CODIGO,"
                  +"EMAIL,"
                  +"N_PROCESSO,"
                  +"CODIGO_UNICO_PROCESSO,"
                  +"UF,"
                  +"COMARCA,"
                  +"TRIBUNAL,"
                  +"DATA_CADASTRO,"
                  +"TENTATIVAS,"
                  +"PARTES"
                +")"
              + "VALUES" 
               + "(" 
                 + "'"+p.codEscritorio+"'," 
                 + " '"+p.emails+"'," 
                 + " '"+p.numProcesso+"'," 
                 + " '"+p.numProcesso+"'," 
                 + " '"+p.uf+"'," 
                 + " '"+p.comarca+"'," 
                 + " '"+p.tribunal+"'," 
                 + " getdate()," 
                 + " '0'," 
                 + " '"+p.partes+"'" 
               + ");"
               + "SELECT SCOPE_IDENTITY() as codProcesso";
     try
     {
        return bd.insert(sql);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         return "ERRO:"+ex.Message;
     }
 }
 public int existeAndamento(Processo p)
 {
     string sql = " SELECT max(id_controle) "
                + " FROM "+ p.cliente + ".dbo.PROCESSO_ANDAMENTO"
                + " WHERE "
                + "  ID_PROCESSO_CADASTRO = " + p.idProcessoCadastro;
     try
     {                             
         SqlDataReader reader = bd.select(sql);
         reader.Read();
         if (!reader[0].ToString().Equals(""))
         {
             return int.Parse(reader[0].ToString());
         }
         else
             return 0;
     }
     catch (Exception ex)
     {
         throw ex;                
     }
 }
 public void remover(Processo p, bool agendado)
 {
     AgendadosModel agendadosModel = new AgendadosModel();
     CadastradosModel cadastradosModel = new CadastradosModel();
     try
     {
         if (agendado)
         {
             agendadosModel.delete(p);
         }
         else
         {
             webservice.remover(Config.getIntanciaConta(), Config.getIntanciaToken(), p.codUnicoProcesso);
             cadastradosModel.delete(p, false);
         }
         MessageBox.Show("Processo nº: " + p.numProcesso + " removido com sucesso.");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        public void update(Processo p)
        {
            string sql = " UPDATE " + p.cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO"
                        + " SET"
                        + "   CODIGO                     = " + "'" + p.codEscritorio + "'"
                        + "  ,EMAIL                      = " + "'" + p.emails.Replace("'", "''") + "'"
                        + "  ,N_PROCESSO                 = " + "'" + p.numProcesso + "'"
                        + "  ,N_PROCESSO_ANTIGO          = " + "'" + p.numProcessoAntigo + "'"
                        + "  ,CODIGO_UNICO_PROCESSO      = " + "'" + p.codUnicoProcesso.Replace("'", "''") + "'"
                        + "  ,UF                         = " + "'" + p.uf.Replace("'", "''") + "'"
                        + "  ,COMARCA                    = " + "'" + p.comarca.Replace("'", "''") + "'"
                        + "  ,TRIBUNAL                   = " + "'" + p.tribunal.Replace("'", "''") + "'"
                        + "  ,PARTES                     = " + "'" + p.partes.Replace("'", "''") + "'"
                        + "  ,REU                        = " + "'" + p.reu.Replace("'", "''") + "'"
                        + "  ,AUTOR                      = " + "'" + p.autor.Replace("'", "''") + "'"
                        + "  ,FORUM                      = " + "'" + p.forum.Replace("'", "''") + "'"
                        + "  ,VARA                       = " + "'" + p.vara.Replace("'", "''") + "'"
                        + "  ,AUTOR_ADV                  = " + "'" + p.autor_adv.Replace("'", "''") + "'"
                        + "  ,DIGITAL                    = " + p.digital
                        + "  ,ENCERRADO                  = " + p.encerrado
                        + "  ,REU_ADV                    = " + "'" + p.reu_adv.Replace("'", "''") + "'"
                        + "  ,VALOR                      = " + "'" + p.valor.Replace("'", "''") + "'"
                        + "  ,SISTEMA                    = " + "'" + p.sistema.Replace("'", "''") + "'"
                        + "  ,ULT_ANDAMENTO              = " + "'" + p.ultAndamento.Replace("'", "''") + "'"
                        + "  ,ULT_ATUALIZACAO_PROCESSO   = " + "'" + p.ultAtualizacaoProcesso.ToString("yyyy-MM-dd H:mm:ss") + "'"
                        + "  ,ULT_ATUALIZACAO_SISTEMA    = GETDATE()"
                        + "  ,ANDAMENTO_COMPLETO         = " + "'" + p.andamentoCompleto.Replace("'", "''") + "'"
                        + "  ,ATUALIZADO                 = " + 1
                        + "  ,SEGREDO                    = " + p.segredo
                        + "  ,SEM_ANDAMENTO              = " + p.sem_andamento

                        + " WHERE "
                        + "    CODIGO_UNICO_PROCESSO     = '" + p.codUnicoProcesso + "'"
                        + " AND ID_PROCESSO_CADASTRO      = " + p.idProcessoCadastro;
            bd.update(sql);
        }
 public void editar(Processo p)
 {
     try
     {
         agendadoModel.update(p);
         MessageBox.Show("Processo: " + p.numProcesso + " editado com sucesso");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
 public void updateDataAtualizacaoSistema(Processo p)
 {
     string sql = " UPDATE " + p.cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO"
                 + " SET"
                 + "     ULT_ATUALIZACAO_SISTEMA    = GETDATE() "
                 + " WHERE "
                 + "     ID_PROCESSO_CADASTRO = " + p.idProcessoCadastro;
     bd.update(sql);
 }
        public void delete(Processo p,bool flag)
        {
            int ativo = 0;
            if (flag) ativo = 1;

            string sql = " UPDATE " + p.cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO"
                        + " SET"
                        + "     ATIVO = " + ativo
                        + " WHERE "
                        + "     ID_PROCESSO_CADASTRO = " + p.idProcessoCadastro;
            bd.update(sql);
        }
        public void processoAndamentosTodos(Processo p)
        {
            try
            {
                Andamento[] andamentos = webservice.processoAndamentosTodos(Config.getIntanciaConta(), Config.getIntanciaToken(), p.codUnicoProcesso);

                foreach (Andamento andamento in andamentos)
                {
                    p.andamentoCompleto += "(" + andamento.dia + ") " + andamento.texto.Replace("\r\n \r\n \r\n \r\n \r\n", Environment.NewLine);
                }

                p.ultAndamento = andamentos[0].texto;
                p.ultAtualizacaoSistema = DateTime.Now;
                if (andamentos[0].dia_incluido == null)
                    p.ultAtualizacaoProcesso = DateTime.Parse(andamentos[0].dia);
                else
                    p.ultAtualizacaoProcesso = DateTime.Parse(andamentos[0].dia_incluido);
                cadastradosModel.update(p);
                MessageBox.Show("Andamentos do processo nº: " + p.numProcesso + " atualizados.");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public void validar(Processo p)
        {
            try
            {
                Busca busca = webservice.processoProcura(Config.getIntanciaConta(), Config.getIntanciaToken(), p.numProcesso, p.uf, p.comarca, p.partes);
                webservice.cadastrar(Config.getIntanciaConta(), Config.getIntanciaToken(), busca, p.codUnicoProcesso);

                // Atualizar novos valores do retorno do webservice                             
                p.reu = busca.reu;
                p.autor = busca.autor;
                p.forum = busca.forum;
                p.vara = busca.vara;
                p.ultAndamento = busca.ultimo_andamento;

                // Insere na tabela de cadastrados
                cadastradosModel.insert(p);
                agendadoModel.delete(p);
                MessageBox.Show("Processo nº: " + p.numProcesso + "cadastrado com sucesso.");
            }
            catch (Exception ex)
            {
                p.tentativas++;
                agendadoModel.update(p);
                MessageBox.Show(ex.Message);
            }
        }
        public List<Processo> Select(string where, string valorRecorte)
        {
            ClienteModel clienteModel = new ClienteModel();
            List<string> sqlLista = new List<string>();
            List<string> clientes = new List<string>();

            if(valorRecorte != null)
            {
               clientes.Add(valorRecorte);
            }
            else
            {
                clientes.Add("NELSONWILLIANS");
            }

            try
            {
                foreach (string cliente in clientes )
                {
                    sqlLista.Add(
                            "SELECT " +
                            "  ID_PROCESSO_CADASTRO" +
                            ", CODIGO, N_PROCESSO" +
                            ", N_PROCESSO_ANTIGO" +
                            ", CODIGO_UNICO_PROCESSO" +
                            ", UF" +
                            ", COMARCA" +
                            ", DATA_CADASTRO" +
                            ", ULT_ANDAMENTO" +
                            ", ULT_ANDAMENTO_ENVIADO" +
                            ", ULT_ENVIO" +
                            ", ULT_ATUALIZACAO_PROCESSO" +
                            ", ULT_ATUALIZACAO_SISTEMA" +
                            ", EMAIL" +
                            ", ANDAMENTO_COMPLETO" +
                            ", REU" +
                            ", FORUM" +
                            ", AUTOR" +
                            ", VARA" +
                            ", TRIBUNAL" +
                            ", PARTES" +
                            ", AUTOR_ADV" +
                            ", DIGITAL" +
                            ", ENCERRADO" +
                            ", REU_ADV" +
                            ", VALOR" +
                            ", SISTEMA" +
                            ", SEGREDO" +
                            ",'" + cliente + "' as cliente " +
                            " FROM " + cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO " +
                              where + " ORDER BY ID_PROCESSO_CADASTRO ");
                }

                string sql = String.Join(" UNION ", sqlLista);

                SqlDataReader reader = bd.select(sql);          
                List<Processo> lista_registros = new List<Processo>();

                while (reader.Read())
                {
                    Processo processo = new Processo();
                    processo.idProcessoCadastro = int.Parse(reader[0].ToString());
                    processo.codEscritorio = int.Parse(reader[1].ToString());
                    processo.numProcesso = reader[2].ToString();
                    processo.numProcessoAntigo = reader[3].ToString();
                    processo.codUnicoProcesso = reader[4].ToString();
                    processo.uf = reader[5].ToString();
                    processo.comarca = reader[6].ToString();
                    processo.dataCadastro = DateTime.Parse(reader[7].ToString());
                    processo.ultAndamento = reader[8].ToString();
                    processo.ultAndamentoEnviado = reader[9].ToString();
                    if (!reader[10].ToString().Equals(""))
                        processo.ultEnvio = DateTime.Parse(reader[10].ToString());
                    if (!reader[11].ToString().Equals(""))
                        processo.ultAtualizacaoProcesso = DateTime.Parse(reader[11].ToString());
                    if (!reader[12].ToString().Equals(""))
                        processo.ultAtualizacaoSistema = DateTime.Parse(reader[12].ToString());
                    processo.emails = reader[13].ToString();
                    processo.andamentoCompleto = reader[14].ToString();
                    processo.reu = reader[15].ToString();
                    processo.forum = reader[16].ToString();
                    processo.autor = reader[17].ToString();
                    processo.vara = reader[18].ToString();
                    processo.tribunal = reader[19].ToString();
                    processo.partes = reader[20].ToString();
                    processo.autor_adv = reader[21].ToString();
                    if (!reader[22].ToString().Equals(""))
                        processo.digital = int.Parse(reader[22].ToString());
                    if (!reader[23].ToString().Equals(""))
                        processo.encerrado = int.Parse(reader[23].ToString());
                    processo.reu_adv = reader[24].ToString();
                    if (!reader[25].ToString().Equals(""))
                        processo.valor = reader[25].ToString();
                    processo.sistema = reader[26].ToString();
                    processo.segredo = 0;
                    if (bool.Parse(reader[27].ToString()))
                        processo.segredo = 1;
                    processo.cliente = reader[28].ToString();

                    lista_registros.Add(processo);
                }
                return lista_registros;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return new List<Processo>();
            }
        }
 public void delete(Processo p)
 {
     string sql = " DELETE FROM " + p.cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO "
                + " WHERE ID_PROCESSO_CADASTRO = '" + p.idProcessoCadastro + "'";
     bd.delete(sql);
 }
 public void remover(object sender, EventArgs e)
 {
     Processo p = new Processo();
     if (this.Agendados.SelectedTab == this.Agendados.TabPages[0])
     {
         p = (Processo)dataGridViewAgendados.SelectedRows[0].DataBoundItem;
         homeController.remover(p, true);
     }
     else if (this.Agendados.SelectedTab == this.Agendados.TabPages[1])
     {
         p = (Processo)dataGridViewCadastrados.SelectedRows[0].DataBoundItem;
         homeController.remover(p, false);
     }
     listaAgendados();
     if (!this.valorRecorte.Equals(""))
         listaCadastrados(whereAnterior, this.valorRecorte);
     else
         listaCadastrados(whereAnterior);
 }
 private void setCampos(Processo processo)
 {
     this.cbRecorte.Text = processo.cliente;
     this.txtCodigo.Text = processo.codEscritorio.ToString();
     this.cbTribunal.Text = processo.tribunal;
     this.txtProcesso.Text = processo.numProcesso;
     this.cbUf.Text = processo.uf;
     this.txtComarca.Text = processo.comarca;
     this.txtEmail.Text = processo.emails;
     this.txtPartes.Text = processo.partes;
 }
        public void update(Processo p, int sem_andamento)
        {
            int possui_andamento = 0;
            if (sem_andamento == 1) possui_andamento = 1;

            string sql = " UPDATE " + p.cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO"
                        + " SET"
                        + "     SEM_ANDAMENTO = " + possui_andamento
                        + "     ,ULT_ATUALIZACAO_PROCESSO    = GETDATE() "
                        + " WHERE "
                        + "     ID_PROCESSO_CADASTRO = " + p.idProcessoCadastro;
            bd.update(sql);
        }
 private Processo castProcesso(Tecno2Novo.ProcessoDadosResponse processo)
 {
     Processo processoLocal = new Processo();
     processoLocal.autor = processo.autor;
     processoLocal.numProcesso = processo.numero_unico;
     processoLocal.numProcessoAntigo = processo.numero_antigo;
     processoLocal.autor_adv = processo.autor_adv;
     processoLocal.digital = processo.digital;
     processoLocal.encerrado = processo.encerrado;
     processoLocal.reu = processo.reu;
     processoLocal.reu_adv = processo.reu_adv;
     processoLocal.valor = processo.valor;
     processoLocal.sistema = processo.sistema;
     processoLocal.segredo = processo.segredo;
     
     return processoLocal;
 }
        public List<Processo> Select()
        {
            ClienteModel clienteModel = new ClienteModel();
            List<string> sqlLista = new List<string>();

            foreach (string cliente in new List<string>() { "VERBALEGISINFO" })
            {
                sqlLista.Add("SELECT *,'" + cliente + "' as cliente FROM " + cliente.Replace(" ", "") + ".dbo.PROCESSO_CADASTRO_AGENDADO " + Environment.NewLine);
            }

            string sql = String.Join(" UNION ", sqlLista);


            SqlDataReader reader = bd.select(sql);
            DataTable dt = new DataTable();
            List<Processo> lista_registros = new List<Processo>();

            while (reader.Read())
            {
                Processo processo = new Processo();
                processo.idProcesso = reader[0].ToString();
                processo.emails = reader[1].ToString();
                processo.numProcesso = reader[2].ToString();
                processo.codUnicoProcesso = reader[3].ToString();
                processo.uf = reader[4].ToString();
                processo.comarca = reader[5].ToString();
                processo.tribunal = reader[6].ToString();
                processo.dataCadastro = DateTime.Parse(reader[7].ToString());
                processo.codEscritorio = int.Parse(reader[8].ToString());
                processo.tentativas = int.Parse(reader[9].ToString());
                processo.partes = reader[10].ToString();
                //if(!reader[11].ToString().Equals(""))
                //    processo.dataUltTentativa = DateTime.Parse(reader[11].ToString());
                processo.cliente = reader[12].ToString();
                
                lista_registros.Add(processo);
            }
            return lista_registros;
        }