コード例 #1
0
        public static void Excluir(int id)
        {
            using (Conexao conexao = Conexao.Get(DAL.GetStringConexao()))
                using (Transacao transacao = new Transacao(conexao))
                    try
                    {
                        string sql = "delete from tb_entrada_produto where id_entrada = " + id.ToString();

                        using (Comando comando = new Comando(transacao, sql))
                        {
                            comando.Execute();
                            Log.Sql(sql);
                        }

                        sql = "delete from tb_entrada where id_entrada = " + id.ToString();

                        using (Comando comando = new Comando(transacao, sql))
                        {
                            comando.Execute();
                            Log.Sql(sql);
                        }
                        transacao.Commit();
                    }
                    catch (Exception ex)
                    {
                        transacao.RollBack();
                        throw ex;
                    }
        }
コード例 #2
0
        public void Save(Pessoa pessoa)
        {
            ErrorMessage = string.Empty;

            if (pessoa == null)
            {
                ErrorMessage = "NULL Entity";
                return;
            }

            Conexao.Open();
            Transacao = Conexao.BeginTransaction();

            try
            {
                Db.Pessoa.AddOrUpdate(pessoa);

                Db.SaveChanges();
                Transacao.Commit();
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
                Transacao.Rollback();
            }

            Conexao.Close();
        }
コード例 #3
0
        public void Save(Pessoa pessoa)
        {
            ErrorMessage = string.Empty;

            if (pessoa == null)
            {
                ErrorMessage = "Pessoa não carregada";
                return;
            }

            Conexao.Open();
            Transacao = Conexao.BeginTransaction();

            try
            {
                Db.Pessoas.AddOrUpdate(pessoa);

                Db.SaveChanges();
                Transacao.Commit();
            }
            catch (Exception ex)
            {
                ErrorMessage = "Erro ao Cadastrar";
                Transacao.Rollback();
            }

            Conexao.Close();
        }
コード例 #4
0
        //===============================================================================================

        /// <summary>
        /// Executa queries INSERT, UPDATE, DELETE, CREATE TABLE, CREATE DATABASE
        /// </summary>
        /// <param name="query"></param>
        /// <param name="parametros"></param>
        public void EXE_NON_QUERY(string query, List <SQLParametro> parametros = null)
        {
            using (Conexao = new MySqlConnection(Str_Conn))
            {
                try
                {
                    Conexao.Open();
                    Transacao = Conexao.BeginTransaction();
                    //using (Cmd = new MySqlCommand(query, Conexao))

                    using (Cmd = new MySqlCommand(query, Conexao, Transacao))
                        Cmd.Parameters.Clear(); //Efetuando a limpeza caso haja parametros.

                    //verifica se parametros é diferente de Null, ou seja, se tem dados, assim ele add aos parametros do COMANDO
                    if (parametros != null)
                    {
                        foreach (SQLParametro p in parametros)
                        {
                            Cmd.Parameters.AddWithValue(p.Parametro, p.Valor);
                        }
                    }

                    /*
                     * O DANILO(TORNA-SE UM PROGRAMADOR) fez algo do tipo:
                     * pedido.clienteID = Convert.toINT32(cmd.ExecuteScalar()) - ->Aqui ele capturou o id a ser salvo(Commit não executado ainda)
                     *
                     * https://www.youtube.com/watch?v=dt1u_UUH4Ro
                     *
                     * RESOLVER ESSE TRECHO AQUI PARA QUE RETORNE O ID INSERIDO OU ID REFERENTE A ALTERAÇÃO
                     *
                     * var linhaafetada = cmd.ExecuteNonQuery();
                     * if (linhaafetada > 0)
                     * {
                     *  cmd.CommandText = "SELECT @@IDENTITY";
                     *  DTO.EstadoId = Convert.ToInt16(cmd.ExecuteScalar());
                     * }
                     */

                    Cmd.ExecuteNonQuery();

                    //===================
                    Transacao.Commit();
                    parametros[0].Valor = Cmd.LastInsertedId;
                    //===================
                }
                catch (SqlException exSQL)
                {
                    Transacao.Rollback();
                    MessageBox.Show("Erro-SQL: " + exSQL.Message);
                }
                catch (Exception ex)
                {
                    Transacao.Rollback();
                    MessageBox.Show("Erro: " + ex.Message);
                }
            }
        }
コード例 #5
0
        protected object ExecutarScalar(string command)
        {
            try
            {
                Conexao = MyDatabase.CreateConnection();
                Conexao.Open();

                if (UsarTransacao)
                {
                    Transacao = Conexao.BeginTransaction();
                }

                MyCommand = MyDatabase.GetStoredProcCommand(command);
                VincularParametros();

                MyCommand.Connection = Conexao;

                var retorno = MyCommand.ExecuteScalar();

                if (UsarTransacao)
                {
                    Transacao.Commit();
                }

                return(retorno);
            }
            catch (Exception e)
            {
                if (UsarTransacao)
                {
                    Transacao.Rollback();
                }

                if (!UsarException)
                {
                    return(null);
                }


                throw new Exception(e.Message);
            }
            finally
            {
                if (MyCommand != null)
                {
                    MyCommand.Dispose();
                }
                if (Conexao != null)
                {
                    Conexao.Dispose();
                    Conexao.Close();
                }
            }
        }
コード例 #6
0
        protected void Executar(string command, CommandType commandType)
        {
            try
            {
                Conexao = MyDatabase.CreateConnection();
                Conexao.Open();

                if (UsarTransacao)
                {
                    Transacao = Conexao.BeginTransaction();
                }

                MyCommand = (commandType == CommandType.StoredProcedure) ? MyDatabase.GetStoredProcCommand(command)
                                                                         : MyDatabase.GetSqlStringCommand(command);
                VincularParametros();

                MyCommand.Connection = Conexao;

                MyCommand.ExecuteNonQuery();

                if (UsarTransacao)
                {
                    Transacao.Commit();
                }
            }

            catch (SqlException sq)
            {
                if (UsarTransacao)
                {
                    Transacao.Rollback();
                }
                throw new Exception(sq.Message);
            }
            finally
            {
                if (MyCommand != null)
                {
                    MyCommand.Dispose();
                }
                if (Conexao != null)
                {
                    Conexao.Dispose();
                    Conexao.Close();
                }
            }
        }
コード例 #7
0
        protected int ExecutarAtualizacao(string sql, Dictionary <string, object> parametros = null, bool carregarId = true)
        {
            int id = 0;

            using (Conexao)
            {
                using (Comando)
                {
                    Conexao.ConnectionString = ConexaoDBFactory.ObterStringDeConexao(Tipo).ConnectionString;


                    Comando.Parameters.Clear();
                    Comando.Connection = Conexao;

                    Comando.CommandText = sql.FormatarSQL(Tipo, carregarId);

                    Conexao.Open();

                    Transacao           = Conexao.BeginTransaction();
                    Comando.Transaction = Transacao;
                    Comando.AdicionarParametros(parametros);

                    try
                    {
                        if (carregarId)
                        {
                            id = Convert.ToInt32(Comando.ExecuteScalar());
                        }
                        else
                        {
                            Comando.ExecuteNonQuery();
                        }
                        Transacao.Commit();
                    }
                    catch (Exception e)
                    {
                        Transacao.Rollback();
                        throw e;
                    }
                }
            }

            return(id);
        }
コード例 #8
0
 public static void ExcluirDuplicados(int id_conta)
 {
     using (Conexao conexao2 = Conexao.Get(DAL.GetStringConexao()))
         using (Transacao transacao = new Transacao(conexao2))
             try
             {
                 string sql2 = string.Format(@"delete from conciliador_estabelecimento where id_conciliador in ( select id from (select dt_transacao, vl_bruto, tot_parcela, nsu_rede, produto, min(id_conciliador) as id , count(*) from conciliador_estabelecimento where id_conta={0} group by 1,2,3,4,5 having count(*) > 1 order by dt_transacao) as x )", id_conta);
                 using (Comando comando = new Comando(transacao, sql2))
                 {
                     comando.Execute();
                 }
                 transacao.Commit();
             }
             catch (Exception ex)
             {
                 transacao.RollBack();
                 throw ex;
             }
 }
コード例 #9
0
 public static void Gravar(string message)
 {
     using (Conexao conexao2 = Conexao.Get(DAL.GetStringConexao()))
         using (Transacao transacao = new Transacao(conexao2))
             try
             {
                 string sql2 = string.Format("insert into sistema_erro(mensagem) value ('{0}'); ", message);
                 using (Comando comando = new Comando(transacao, sql2))
                 {
                     comando.Execute();
                 }
                 transacao.Commit();
             }
             catch (Exception ex)
             {
                 transacao.RollBack();
                 throw ex;
             }
 }
コード例 #10
0
        public void Delete(Pessoa pessoa)
        {
            ErrorMessage = string.Empty;

            if (pessoa == null)
            {
                ErrorMessage = "NULL Entity";
                return;
            }

            Conexao.Open();
            Transacao = Conexao.BeginTransaction();

            try
            {
                Pessoa p = GetById(pessoa.PessoaId);

                if (p == null)
                {
                    return;
                }

                if (Db.Entry(pessoa).State == EntityState.Detached)
                {
                    Db.Entry(p).State = EntityState.Modified;
                }

                Db.Pessoa.Remove(p);
                Db.SaveChanges();
                Transacao.Commit();
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
                Transacao.Rollback();
            }

            Conexao.Close();
        }
コード例 #11
0
        public static Respostas Excluir(long idconta, long id)
        {
            Respostas response;

            using (Conexao conexao = Conexao.Get(DAL.GetStringConexao()))
                using (Transacao transacao = new Transacao(conexao))
                    try
                    {
                        // apagar do histórico de recebimento
                        //string sql = "delete from tb_recebido where id_receber =" + id.ToString();
                        //using (Comando comando = new Comando(transacao, sql))
                        //{
                        //    comando.Execute();
                        //    Log.Sql(sql);
                        //}
                        // apagar do contas receber
                        StringBuilder sb = new StringBuilder();
                        sb.Append("delete from financeiro_receber ");
                        sb.Append("where ");
                        sb.Append(String.Format(" id_conta ={0} and ", idconta));
                        sb.Append(String.Format(" id ={0} ", id));
                        using (Comando comando = new Comando(transacao, sb.ToString()))
                        {
                            comando.Execute();
                        }
                        transacao.Commit();
                        response = new Respostas(true, "Receber excluído!", 0);
                    }
                    catch (Exception ex)
                    {
                        transacao.RollBack();
                        response = new Respostas(true, ex.Message, 0);
                        throw ex;
                    }
            return(response);
        }
コード例 #12
0
        public static void Estornar(int id)
        {
            using (Conexao conexao = Conexao.Get(DAL.GetStringConexao()))
                using (Transacao transacao = new Transacao(conexao))
                    try
                    {
                        // primeiro carrega os produtos e quantidades para restaurar o saldo
                        DataTable tbProd = new DataTable();
                        string    sql    = "select id_produto, qtd from tb_pedido_produto where id_pedido =" + id.ToString();
                        using (Comando comando = new Comando(conexao, sql))
                        {
                            using (MySqlDataAdapter dataAdapter = new MySqlDataAdapter(comando.GetCommand()))
                                dataAdapter.Fill(tbProd);
                        }

                        // percorremos todos os produtos e update no saldo do estoque
                        foreach (DataRow linha in tbProd.Rows)
                        {
                            sql = string.Format("update tb_produto set qtd=qtd+{0} where id_produto={1}", linha["qtd"].ToString(), linha["id_produto"].ToString());
                            using (Comando comando = new Comando(conexao, sql))
                            {
                                comando.Execute();
                                Log.Sql(sql);
                            }
                        }
                        // pegarmos tambem as contas recebidas a vista ou já baixadas desta venda
                        DataTable tbRecebida = new DataTable();
                        sql = "select id_receber from tb_receber where id_pedido = " + id.ToString();
                        using (Comando comando = new Comando(conexao, sql))
                        {
                            using (MySqlDataAdapter dataAdapter = new MySqlDataAdapter(comando.GetCommand()))
                                dataAdapter.Fill(tbRecebida);
                        }

                        // percorremos todos as contas a receber e apagar o histórico do recebido
                        foreach (DataRow linha in tbRecebida.Rows)
                        {
                            sql = string.Format("delete from tb_recebido where id_receber = {0}", linha["id_receber"].ToString());
                            using (Comando comando = new Comando(conexao, sql))
                            {
                                comando.Execute();
                                Log.Sql(sql);
                            }
                        }

                        // apagar do contas receber
                        sql = "delete from tb_receber where id_pedido =" + id.ToString();
                        using (Comando comando = new Comando(transacao, sql))
                        {
                            comando.Execute();
                            Log.Sql(sql);
                        }

                        // apagar do histórico de produto
                        sql = "delete from tb_venda_produto where id_pedido =" + id.ToString();
                        using (Comando comando = new Comando(transacao, sql))
                        {
                            comando.Execute();
                            Log.Sql(sql);
                        }

                        // apaga os itens do pedido
                        sql = "delete from tb_pedido_produto where id_pedido = " + id.ToString();
                        using (Comando comando = new Comando(transacao, sql))
                        {
                            comando.Execute();
                            Log.Sql(sql);
                        }

                        // apaga o pedido
                        sql = "delete from tb_pedido where id_pedido = " + id.ToString();
                        using (Comando comando = new Comando(transacao, sql))
                        {
                            comando.Execute();
                            Log.Sql(sql);
                        }
                        transacao.Commit();
                    }
                    catch (Exception ex)
                    {
                        transacao.RollBack();
                        throw ex;
                    }
        }