public bool Inserir(FornecedorLinha fornecedor) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = "Select max(sequencia) from enderecosLinha where linha_id = @linhaId"; _bd.Cmd.Parameters.AddWithValue("@linhaId", fornecedor.Linha.Id);//id da linha int lastSeq = Convert.ToInt32(_bd.ExecuteScalar() == DBNull.Value ? 0 : _bd.ExecuteScalar());//valor do ultimo da sequencia fornecedor.Sequencia = lastSeq+1; _bd.Cmd.Parameters.Clear(); _bd.Cmd.CommandText = @"INSERT INTO enderecosLinha (linha_id, fornecedor_id, endereco_id, sequencia) VALUES (@linhaId, @pesId, @endId, @seq)"; _bd.Cmd.Parameters.AddWithValue("@linhaId", fornecedor.Linha.Id);//id da linha _bd.Cmd.Parameters.AddWithValue("@pesId", fornecedor.Endereco.Pessoa.Id);//id da pessoa _bd.Cmd.Parameters.AddWithValue("@endId", fornecedor.Endereco.Id);//id do endereço _bd.Cmd.Parameters.AddWithValue("@seq", fornecedor.Sequencia);//sequencia de visita na rota da linha _bd.ExecuteNonQuery(); } catch (Exception) { return false; } return true; }
/// <summary> /// Insere no Banco de dados dados de uma pessoa juridica /// </summary> /// <param name="pj">obj pessoa juridica</param> /// <returns>verdadeiro em caso de sucesso</returns> public bool Inserir(Model.pessoas.PesJuridica pj) { _bd = new Persistencia(); _bd.IniciarTransacao(); try { _bd.Cmd.CommandText = @"INSERT INTO pessoas (nome, dtcad, tipo) VALUES (@nome, @dtCad,@tipo); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@nome", pj.Nome); _bd.Cmd.Parameters.AddWithValue("@dtCad", DateTime.Now); _bd.Cmd.Parameters.AddWithValue("@tipo", 'j');//tipo juridico forçado caso haja erro pj.Id = Convert.ToInt32(_bd.ExecuteScalar()); _bd.Cmd.Parameters.Clear(); _bd.Cmd.CommandText = @"INSERT INTO pessoaJuridica (pes_id, nomeFantasia, ie, cnpj) VALUES (@pesId, @nomeFantasia, @ie, @cnpj)"; _bd.Cmd.Parameters.AddWithValue("@pesId", pj.Id); _bd.Cmd.Parameters.AddWithValue("@nomeFantasia", pj.NomeFantasia == "" ? (object)DBNull.Value : pj.NomeFantasia); _bd.Cmd.Parameters.AddWithValue("@ie", pj.Ie == "" ? (object)DBNull.Value : pj.Ie); _bd.Cmd.Parameters.AddWithValue("@cnpj", pj.Cnpj == "" ? (object)DBNull.Value : pj.Cnpj); _bd.ExecuteNonQuery(); _bd.ConfirmarTransacao(); } catch (Exception) { _bd.CancelarTransacao(); return false; } return true; }
//ultima modificacao/checagem 17/01/2014 by GM public bool Inserir(PesFisica pf) { _bd = new Persistencia(); _bd.IniciarTransacao(); try { _bd.Cmd.CommandText = @"INSERT INTO pessoas (nome, dtcad, status, tipo) VALUES (@nome, @dtCad, @status,@tipo); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@nome", pf.Nome); _bd.Cmd.Parameters.AddWithValue("@dtCad", DateTime.Now); _bd.Cmd.Parameters.AddWithValue("@status", 1);//status ativo ja que cadastro novo _bd.Cmd.Parameters.AddWithValue("@tipo", 'f');//tipo f pf.Id = Convert.ToInt32(_bd.ExecuteScalar());//recupera id nova! _bd.Cmd.Parameters.Clear(); _bd.Cmd.CommandText = @"INSERT INTO pessoaFisica (pes_id, apelido, dtNascimento, rg, cpf, cnh_categoria, cnh_registro, cnh_validade, cnh_emissao) VALUES (@pesId, @apelido, @dtNasc, @rg, @cpf, @cnh_cat, @cnh_num, @cnh_validade, @cnh_emissao)"; _bd.Cmd.Parameters.AddWithValue("@pesId", pf.Id); _bd.Cmd.Parameters.AddWithValue("@apelido", pf.Apelido == "" ? (object)DBNull.Value : pf.Apelido); _bd.Cmd.Parameters.AddWithValue("@dtNasc", pf.DtNascimento.ToShortDateString() == "01/01/0001" ? (object)DBNull.Value : pf.DtNascimento); _bd.Cmd.Parameters.AddWithValue("@rg", pf.Rg == "" ? (object)DBNull.Value : pf.Rg); _bd.Cmd.Parameters.AddWithValue("@cpf", pf.Cpf == "" ? (object)DBNull.Value : pf.Cpf); _bd.Cmd.Parameters.AddWithValue("@cnh_cat", pf.CnhLetra == "" ? (object)DBNull.Value : pf.CnhLetra); _bd.Cmd.Parameters.AddWithValue("@cnh_num", pf.Cnh == "" ? (object)DBNull.Value : pf.Cnh); _bd.Cmd.Parameters.AddWithValue("@cnh_validade", pf.CnhValidade.ToShortDateString() == "01/01/0001" ? (object)DBNull.Value : pf.CnhValidade); _bd.Cmd.Parameters.AddWithValue("@cnh_emissao", pf.CnhEmissao.ToShortDateString() == "01/01/0001" ? (object)DBNull.Value : pf.CnhEmissao); _bd.ExecuteNonQuery(); _bd.ConfirmarTransacao(); } catch (Exception) { _bd.CancelarTransacao(); return false; } return true; }
/// <summary> /// Insere no banco de dados um contato /// </summary> /// <param name="contato">Objeto contato com parametros validos</param> /// <returns>verdadeiro se não hover erro</returns> public bool Inserir(Model.pessoas.Contato contato) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO contatos (pes_id, descricao, obs, tipo) VALUES (@pesId, @conDescricao, @conObs, @conTipo); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@pesId", contato.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@conDescricao", contato.Descricao); _bd.Cmd.Parameters.AddWithValue("@conObs", contato.Obs == "" ? (object)DBNull.Value : contato.Obs);//opcional //con tipos 1 celular 2 telefone 3 email _bd.Cmd.Parameters.AddWithValue("@conTipo", contato.Tipo); contato.Id = Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { return false; } return true; }
/// <summary> /// Insere uma ContaCaixa no Banco de dados /// </summary> /// <param name="contaCaixa">Obj ContaCaixa</param> /// <returns>verdadeiro em caso de sucesso</returns> public bool Inserir(ContaCaixa contaCaixa) { var bd = new Persistencia(); try { bd.Cmd.CommandText = @"INSERT INTO `contasCaixa` (`descricao`, `data`, `banco_id`, `agencia`, `cc`) VALUES (@descricao, @data, @banco, @agencia, @cc); SELECT LAST_INSERT_ID()"; bd.Cmd.Parameters.AddWithValue("@descricao", contaCaixa.Descricao); bd.Cmd.Parameters.AddWithValue("@data", DateTime.Now);//data de abertura bd.Cmd.Parameters.AddWithValue("@banco", contaCaixa.Banco.Id == 0 ? (object)DBNull.Value : contaCaixa.Banco.Id); bd.Cmd.Parameters.AddWithValue("@agencia", contaCaixa.Agencia == "" ? (object)DBNull.Value : contaCaixa.Agencia); bd.Cmd.Parameters.AddWithValue("@cc", contaCaixa.ContaNum == "" ? (object)DBNull.Value : contaCaixa.ContaNum); contaCaixa.Id = Convert.ToInt32(bd.ExecuteScalar()); } catch (Exception) { return false; } return true; }
/// <summary> /// Insere uma nova Rota no Banco de dados /// </summary> /// <param name="rota">Objeto rota com parametros validos</param> /// <returns>verdadeiro em caso de sucesso</returns> public bool Inserir(Rota rota) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO rotasColeta (descricao) VALUES (@nome); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@nome", rota.Descricao); rota.Id = Convert.ToInt32(_bd.ExecuteScalar());//recupera id nova! } catch (Exception) { return false; } return true; }
/// <summary> /// Insere uma Categoria de Produto no Banco de dados /// </summary> /// <param name="categoria">Obj categoria com Descricao</param> /// <returns>verdadeiro em caso de sucesso</returns> public bool Inserir(Categoria categoria) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO `categoriasProduto` (`descricao`) VALUES (@descricao)"; _bd.Cmd.Parameters.AddWithValue("@descricao", categoria.Descricao); if (_bd.ExecuteNonQuery() <= 0)//descricao repetidas causam erros de UNIQUEKEY, zero linhas, ninguem foi inserido! return false; return true; } catch (Exception) { //faz ativacao logica try { _bd.Cmd.CommandText = @"select excluida from categoriasProduto where descricao = @descricao"; //se a categoria existir e estiver desativada ele reativa e informa inserido com sucesso if(Convert.ToInt32(_bd.ExecuteScalar())== 1) { _bd.Cmd.CommandText = @"UPDATE categoriasProduto SET excluida = @value WHERE descricao = @descricao; select id from categoriasProduto where descricao = @descricao"; _bd.Cmd.Parameters.AddWithValue("@value", 0);//ativo categoria.Id = Convert.ToInt32(_bd.ExecuteScalar());//recupera id return true; } _bd.Cmd.CommandText = @"select id from categoriasProduto where descricao = @descricao"; categoria.Id = Convert.ToInt32(_bd.ExecuteScalar());//recupera id return false;//se ja estiver ativa retorna falso! } catch (Exception) { return false;//erro de banco de dados! } } }
//ultima modificacao/checagem em 05/02/2014 funcionando! by GM public bool Inserir(Conta conta) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO `contas` (`pes_id`, `descricao`, `dtcriacao`, `saldo`, `agenciaNum`, `contaNum`, `bancoNome`, `status`) VALUES (@pesId,@descricao,@dtcriacao,@saldoInicial,@agenciaNum,@contaNum,@bancoNome,@status); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@pesId", conta.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@descricao", conta.Descricao); _bd.Cmd.Parameters.AddWithValue("@dtcriacao", DateTime.Now);//saldo inicial 0.00 _bd.Cmd.Parameters.AddWithValue("@saldoInicial", 0); _bd.Cmd.Parameters.AddWithValue("@agenciaNum", conta.Agencia == "" ? (object)DBNull.Value : conta.Agencia); _bd.Cmd.Parameters.AddWithValue("@contaNum", conta.ContaNum == "" ? (object)DBNull.Value : conta.Agencia); _bd.Cmd.Parameters.AddWithValue("@bancoNome", conta.Agencia == "" ? (object)DBNull.Value : conta.Agencia); _bd.Cmd.Parameters.AddWithValue("@status", true); //recupera o Id da conta criada e volta por referencia a interface conta.Id = Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { return false; } return true; }
/// <summary> /// Insere no banco de dados um Endereço /// </summary> /// <param name="end">obj endereço</param> /// <returns>verdadeiro se nãou hover erro</returns> public bool Inserir(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO enderecos (pes_id, cid_id, logradouro,numero, bairro, cep, obs) VALUES (@pesId, @cidId,@logradouro,@num,@bairro,@cep,@obs); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@cidId", end.Cidade.Id); _bd.Cmd.Parameters.AddWithValue("@logradouro", end.Logradouro == "" ? (object)DBNull.Value : end.Logradouro); _bd.Cmd.Parameters.AddWithValue("@num", end.Numero == "" ? (object)DBNull.Value : end.Numero); _bd.Cmd.Parameters.AddWithValue("@bairro", end.Bairro == "" ? (object)DBNull.Value : end.Bairro); _bd.Cmd.Parameters.AddWithValue("@cep", end.Cep == "" ? (object)DBNull.Value : end.Cep); _bd.Cmd.Parameters.AddWithValue("@obs", end.Obs == "" ? (object)DBNull.Value : end.Obs); end.Id = Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { return false; } return true; }
//ultima modificacao/checagem em 28/01/2014 funcionando! by GM public int PrimeiroAtivo(Endereco end) { _bd = new Persistencia(); _bd.Cmd.CommandText = "select min(id) from enderecos where ativo = 1 and pes_id = @pesId"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); try { return Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { //caso nao tenha nenhum outro ativo return -1; } }
/// <summary> /// Insere um produto no Banco de dados /// </summary> /// <param name="produto">Obj categoria com Descricao</param> /// <returns>verdadeiro em caso de sucesso</returns> public bool Inserir(Produto produto) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO `produtos` (`descricao`, `categoria_id`) VALUES (@descricao, @categoria_id);"; _bd.Cmd.Parameters.AddWithValue("@descricao", produto.Descricao); _bd.Cmd.Parameters.AddWithValue("@categoria_id", produto.Categoria.Id); if (_bd.ExecuteNonQuery() <= 0)//descricao repetidas causam erros de UNIQUEKEY, zero linhas, ninguem foi inserido! return false; return true; } catch (Exception) { //faz ativacao logica try { _bd.Cmd.CommandText = @"select excluido from produtos where descricao = @descricao"; //se o produto existir e estiver desativado, reativa e informa inserido com sucesso if (Convert.ToInt32(_bd.ExecuteScalar()) == 1)//1 == desativo { _bd.Cmd.CommandText = @"UPDATE produtos SET excluido = @value, categoria_id = @categoria_id WHERE descricao = @descricao; select id from produtos where descricao = @descricao"; _bd.Cmd.Parameters.AddWithValue("@value", 0);//0 == ativo _bd.Cmd.Parameters.AddWithValue("@categoria_id", produto.Categoria.Id); produto.Id = Convert.ToInt32(_bd.ExecuteScalar());//recupera id return true; } _bd.Cmd.CommandText = @"select id from produtos where descricao = @descricao"; produto.Id = Convert.ToInt32(_bd.ExecuteScalar());//recupera id return false;//se ja estiver ativo retorna falso! } catch (Exception) { return false;//erro de banco de dados! } } }
//ultima modificacao/checagem em 28/01/2014 funcionando! by GM public bool Inserir(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO enderecos (pes_id, cid_id, logradouro,numero, bairro, complemento, cep, principal,obs,ativo) VALUES (@pesId, @cidId,@logradouro,@num,@bairro,@complemento,@cep,@principal,@obs,1); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@cidId", end.Cidade.Id); _bd.Cmd.Parameters.AddWithValue("@logradouro", end.Logradouro == "" ? (object)DBNull.Value : end.Logradouro); _bd.Cmd.Parameters.AddWithValue("@num", end.Numero == "" ? (object)DBNull.Value : end.Numero); _bd.Cmd.Parameters.AddWithValue("@bairro", end.Bairro == "" ? (object)DBNull.Value : end.Bairro); _bd.Cmd.Parameters.AddWithValue("@complemento", end.Complemento == "" ? (object)DBNull.Value : end.Complemento); _bd.Cmd.Parameters.AddWithValue("@cep", end.Cep == "" ? (object)DBNull.Value : end.Cep); _bd.Cmd.Parameters.AddWithValue("@principal", false); _bd.Cmd.Parameters.AddWithValue("@obs", end.Obs == "" ? (object)DBNull.Value : end.Obs); //ja altera a id do objeto passado por parametro caso tenha que atualizar o status como principal end.Id = Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { return false; } return true; }
/// <summary> /// checa qual endereço principal da pessoa informada /// </summary> /// <param name="pesCod"></param> /// <returns>id do endereço principal</returns> public int CheckPrincipal(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"select id from enderecos where pes_id = @pesId and principal = 1 and ativo = 1"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); return Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { return -1; } }
/// <summary> /// recupera a senha no banco de dados para confirmação /// </summary> /// <param name="usuario"></param> /// <returns></returns> public bool SenhaRecuperar(Usuario usuario) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"Select senha from usuarios where id = @id"; _bd.Cmd.Parameters.AddWithValue("@id", usuario.Id); usuario.SenhaConfirma = _bd.ExecuteScalar().ToString(); } catch (Exception) { return false; } return true; }
/// <summary> /// Verifica um login em banco de dados /// </summary> /// <param name="usuario"></param> /// <returns></returns> public bool LoginCheck(Usuario usuario) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"Select id from usuarios where login = @login"; _bd.Cmd.Parameters.AddWithValue("@login", usuario.Login); usuario.Id = Convert.ToInt32(_bd.ExecuteScalar()); if (usuario.Id == 0) return false; return true;//retorna se encontrou } catch (Exception) { return false; } }
/// <summary> /// Insere um usuario no Banco de dados /// </summary> /// <param name="usuario">Obj usuario</param> /// <returns>verdadeiro em caso de sucesso</returns> public bool Inserir(Usuario usuario) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO `usuarios` (`login`, `senha`, `pessoa_id`) VALUES (@login, @senha, @pessoa_id);"; _bd.Cmd.Parameters.AddWithValue("@login", usuario.Login); _bd.Cmd.Parameters.AddWithValue("@senha", usuario.Senha); _bd.Cmd.Parameters.AddWithValue("@pessoa_id", usuario.Utilizador.Id); if (_bd.ExecuteNonQuery() <= 0)//login repetidos causam erros de UNIQUEKEY, zero linhas, ninguem foi inserido! return false; return true; } catch (Exception) { try//recupera id do login e informa que o mesmo nao pode ser re-utilizado { _bd.Cmd.CommandText = @"select id from usuarios where login = @login"; usuario.Id = Convert.ToInt32(_bd.ExecuteScalar());//recupera id return false;//se ja estiver ativa retorna falso! } catch (Exception) { return false;//erro de banco de dados! } } }