/// <summary> /// Efetua um select na base e retorna um objeto T com base no seu primary key /// <c>Empresa empresa = DAL.GetObjetoById<Empresa>(3);</c> /// </summary> /// <typeparam name="T">Tipo do retorno</typeparam> /// <param name="id">Código id para buscar o objeto na base</param> /// <returns>Retorna uma instância do Tipo</returns> public static T GetObjetoById<T>(long id) where T : class, new() { // cria uma instância do objeto T item = new T(); // pega os campos para poder montar o select List<Campo> campos = Montador.GetCampos(item); // monta o select e filtra pelo campo chave string sql = GetSqlSelect(item, string.Format("{0}={1}", GetIdFieldName(campos), id)); using (MySqlConnection conexao = new MySqlConnection(GetStringConexao())) using (Comando comando = new Comando(conexao, sql)) using (Leitor leitor = comando.Select()) { // tem retorno if (leitor.RecordCount > 0) // percorre as propriedades foreach (PropertyInfo property in Auxiliar.PropertySimple(item)) { // valor busta pelo nome do campo object valor = leitor.GetObject(Auxiliar.GetColumnName(property)); if ((valor != null) && (!(valor is System.DBNull))) { property.SetValue(item, valor.GetType().Name.Equals("TimeSpan") ? valor.ToString() : valor.GetType().Name.Equals("SByte") ? (((sbyte)valor == 1) ? true : false) : valor, null); } } } return item; }
public IActionResult Excluir(Montador montador) { var montadores = service.buscarPorId(montador.Id); service.Apagar(montadores); return(RedirectToAction("lista")); }
public ActionResult Excluir(Montador montador) { montador = montadorRepository.BuscaMontador(montador.Id); montadorRepository.Excluir(montador); TempData["SuccessMessage"] = "Registro excluido com sucesso."; return(RedirectToAction("index")); }
public Montador BuscarPorID(int id) { SqlCommand comando = new SqlCommand(); comando.CommandType = CommandType.Text; comando.CommandText = "SELECT * FROM Montadores Where montadorID=@id"; comando.Parameters.AddWithValue("@id", id); Conexao con = new Conexao(); SqlDataReader dr = Conexao.ExecutarSelect(comando); Montador objMontador = new Montador(); if (dr.HasRows) { dr.Read(); objMontador.Id = Convert.ToInt32(dr["montadorID"]); objMontador.Nome = (string)dr["nome"]; objMontador.Cpf = (string)dr["cpf"]; objMontador.Salario = Convert.ToDecimal(dr["salario"]); } else { objMontador = null; } return(objMontador); }
public IList <Montador> SelecionarTodas() { SqlCommand comando = new SqlCommand(); comando.CommandType = CommandType.Text; comando.CommandText = "SELECT * FROM Montadores"; SqlDataReader dr = Conexao.ExecutarSelect(comando); IList <Montador> montadores = new List <Montador>(); if (dr.HasRows) { while (dr.Read()) { Montador objMontador = new Montador(); objMontador.Id = Convert.ToInt32(dr["montadorID"]); objMontador.Nome = (string)dr["nome"]; objMontador.Cpf = (string)dr["cpf"]; objMontador.Salario = Convert.ToDecimal(dr["salario"]); montadores.Add(objMontador); } } else { montadores = null; } return(montadores); }
public IList <Montador> BuscarPorNome(string nomeBusca) { SqlCommand comando = new SqlCommand(); comando.CommandType = CommandType.Text; comando.CommandText = "SELECT * FROM Montadores Where nome LIKE @nome "; comando.Parameters.AddWithValue("@nome", "%" + nomeBusca + "%"); Conexao con = new Conexao(); SqlDataReader dr = Conexao.ExecutarSelect(comando); IList <Montador> listaDeMontadores = new List <Montador>(); if (dr.HasRows) { while (dr.Read()) { Montador objMontador = new Montador(); objMontador.Id = Convert.ToInt32(dr["montadorID"]); objMontador.Nome = (string)dr["nome"]; objMontador.Cpf = (string)dr["cpf"]; objMontador.Salario = Convert.ToDecimal(dr["salario"]); listaDeMontadores.Add(objMontador); } } else { listaDeMontadores = null; } return(listaDeMontadores); }
public void Deletar(Montador objMontador) { SqlCommand comando = new SqlCommand(); comando.CommandType = CommandType.Text; comando.CommandText = "DELETE Montadores WHERE montadorID=@id "; comando.Parameters.AddWithValue("@id", objMontador.Id); Conexao.ExecutarCrud(comando); }
public IActionResult Novo(Montador montador) { if (ModelState.IsValid) { service.Adicionar(montador); TempData["Mensagem"] = "Gravado com Sucesso"; return(RedirectToAction("lista")); } ViewBag.MensagemErro = "Preencha os campos obrigatórios"; return(View(montador)); }
public ActionResult Novo(Montador m) { if (ModelState.IsValid) { m.Save(); return(RedirectToAction("Listar")); } else { return(View(m)); } }
public ActionResult Editar(Montador montador) { if (ModelState.IsValid) { montadorRepository.Editar(montador); TempData["SuccessMessage"] = "Registro editado com sucesso."; return(RedirectToAction("Index")); } else { return(View()); } }
/// <summary> /// Exclui um objeto em banco mySQL baseando-se nos atributos do objeto para saber os campos e seus tipos /// Pessoa p = new Pessoa () { Id = 1 }; /// DAL.Excluir(p); /// </summary> /// <param name="data">instância do objeto a ser eliminado.</param> public static void Excluir(object data) { // o Montador.GetCampos retorna num List<Campo> o nome do campo, se é PK e seu valor (Nullable<object>) List <Campo> campos = Montador.GetCampos(data); string tableName = Montador.GetTableName(data); string sqlId = string.Empty; foreach (Campo campo in campos) { if (campo.IsKey) { sqlId = string.Format("{0}=@{0}", campo.Nome); break; } } if (sqlId == string.Empty) { // algo errado Exception e = new Exception("Id não localizado para exclusão"); throw e; } // vamos pegar o valor id long id = DAL.GetIdValue(campos); StringBuilder sql = new StringBuilder(); sql.Append("delete from "); sql.Append(tableName); sql.Append(" where "); sql.Append(sqlId); using (MySqlConnection conexao = new MySqlConnection(GetStringConexao())) using (Comando comando = new Comando(conexao, sql.ToString())) { conexao.Open(); foreach (Campo campo in campos) { if (campo.IsKey) { comando.AddParam(string.Format("@{0}", campo.Nome), campo.Valor); break; } } comando.Execute(); } }
public ActionResult Novo(Montador montador) { if (ModelState.IsValid)//valida no lado do servidor { montadorRepository.Adicionar(montador); TempData["SuccessMessage"] = "Cadastro realizado com sucesso."; return(RedirectToAction("Index")); //return Json(new { RedirectUrl = Url.Action("Index") }); } else { return(View()); } }
public void Salvar(Montador objMontador) { SqlCommand comando = new SqlCommand(); comando.CommandType = CommandType.Text; comando.CommandText = "INSERT INTO Montadores (nome, cpf, salario) VALUES (@nome, @cpf, @salario);" + "SELECT CAST(scope_identity() as int);"; comando.Parameters.AddWithValue("@nome", objMontador.Nome); comando.Parameters.AddWithValue("@cpf", objMontador.Cpf); comando.Parameters.AddWithValue("@salario", objMontador.Salario); Conexao.ExecutarCrud(comando); }
public void Alterar(Montador objMontador) { SqlCommand comando = new SqlCommand(); comando.CommandType = CommandType.Text; comando.CommandText = " UPDATE Montadores SET nome=@nome, cpf=@cpf, salario=@salario WHERE montadorID=@id"; comando.Parameters.AddWithValue("@nome", objMontador.Nome); comando.Parameters.AddWithValue("@cpf", objMontador.Cpf); comando.Parameters.AddWithValue("@salario", objMontador.Salario); comando.Parameters.AddWithValue("@id", objMontador.Id); Conexao.ExecutarCrud(comando); }
// retorna um "select campo1, campo2, campo3 from tabela" a partir do objeto passar por parametro protected static string GetSqlSelect(object data, string filtro = "", string ordem = "", string group = "", int limite = 0) { // o Montador.GetCampos retorna num List<Campo> o nm_insumo do campo List <Campo> campos = Montador.GetCampos(data); StringBuilder sqlCampos = new StringBuilder(); foreach (Campo campo in campos) { sqlCampos.Append(string.Format("{0},", campo.Nome)); } sqlCampos.Remove(sqlCampos.Length - 1, 1); StringBuilder sql = new StringBuilder(); sql.Append("select "); sql.Append(sqlCampos.ToString()); sql.Append(" from "); sql.Append(Montador.GetTableName(data)); // temos where? if (!filtro.Trim().Equals(string.Empty)) { sql.Append(" where "); sql.Append(filtro); } // temos order by? if (!ordem.Trim().Equals(string.Empty)) { sql.Append(" order by "); sql.Append(ordem); } // temos order by? if (!group.Trim().Equals(string.Empty)) { sql.Append(" group by "); sql.Append(group); } // temos um limite definido de registros? if (limite > 0) { sql.Append(" limit "); sql.Append(limite); } return(sql.ToString()); }
public ActionResult Excluir(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Montador montador = montadorRepository.BuscaMontador(id); if (montador == null) { return(HttpNotFound()); } return(View(montador)); }
/// <summary> /// Efetua um select na base e retorna um objeto T com base em um filtro (retorna apenas 1 registro) /// </summary> /// <c> /// Empregado empregado = new Empregado(); /// /// Filtros filtro = new Filtros().Add(() => empregado.Nome, empregado, FiltroExpressao.Igual, "Junior"); /// empregado = DAL.GetObjeto<Empregado>(filtro.ToString()); /// /// if (empregado == null) /// Console.WriteLine("Nao encontrado!"); /// else /// Console.WriteLine(empregado.Id + "-" + empregado.Nome); /// </c> /// <typeparam name="T">Tipo do retorno</typeparam> /// <param name="filtro">Use a classe Filtros para montar o filtro</param> /// <returns>Retorna uma instância do Tipo</returns> public static T GetObjeto<T>(string filtro = "") where T : class, new() { // cria uma instância do objeto T item = new T(); // pega os campos para poder montar o select List<Campo> campos = Montador.GetCampos(item); // monta o select e filtra pelo campo chave string sql = GetSqlSelect(new T(), filtro); using (MySqlConnection conexao = new MySqlConnection(GetStringConexao())) using (Comando comando = new Comando(conexao, sql)) using (Leitor leitor = comando.Select()) { try { // não tem nenhum? volta nulo if (leitor.RecordCount == 0) return null; // percorre as propriedades foreach (PropertyInfo property in Auxiliar.PropertySimple(item)) { // valor busta pelo nome do campo object valor = leitor.GetObject(Auxiliar.GetColumnName(property)); if ((valor != null) && (!(valor is System.DBNull))) { property.SetValue(item, valor.GetType().Name.Equals("TimeSpan") ? valor.ToString() : valor.GetType().Name.Equals("SByte") ? (((sbyte)valor == 1) ? true : false) : valor, null); ; } } } catch (Exception ex) { // throw ex; } } return item; }
/// <summary> /// Efetua um select na base e retorna um objeto T com base no seu primary key /// <c>Empresa empresa = DAL.GetObjetoById<Empresa>(3);</c> /// </summary> /// <typeparam name="T">Tipo do retorno</typeparam> /// <param name="id">Código id para buscar o objeto na base</param> /// <returns>Retorna uma instância do Tipo</returns> public static T GetObjetoById <T>(int id) where T : class, new() { // cria uma instância do objeto T t = new T(); // pega os campos para poder montar o select List <Campo> campos = Montador.GetCampos(t); // monta o select e filtra pelo campo chave string sql = GetSqlSelect(t, string.Format("{0}={1}", GetIdFieldName(campos), id)); using (MySqlConnection conexao = new MySqlConnection(GetStringConexao())) using (Comando comando = new Comando(conexao, sql)) using (Leitor leitor = comando.Select()) { // tem retorno if (leitor.RecordCount > 0) { // percorre as propriedades foreach (PropertyInfo property in Auxiliar.PropertySimple(t)) { // valor busta pelo nm_insumo do campo object valor = leitor.GetObject(Auxiliar.GetColumnName(property)); if ((valor != null) && (!(valor is System.DBNull))) { try { property.SetValue(t, valor, null); } catch (Exception e) { Console.WriteLine(e.Message); } } } } } return(t); }
/// <summary> /// Efetua um select na base e retorna um objeto T com base em um filtro (retorna apenas 1 registro) /// </summary> /// <c> /// Empregado empregado = new Empregado(); /// /// Filtros filtro = new Filtros().Add(() => empregado.Nome, empregado, FiltroExpressao.Igual, "Junior"); /// empregado = DAL.GetObjeto<Empregado>(filtro.ToString()); /// /// if (empregado == null) /// Console.WriteLine("Nao encontrado!"); /// else /// Console.WriteLine(empregado.Id + "-" + empregado.Nome); /// </c> /// <typeparam name="T">Tipo do retorno</typeparam> /// <param name="filtro">Use a classe Filtros para montar o filtro</param> /// <returns>Retorna uma instância do Tipo</returns> public static T GetObjeto <T>(string filtro = "") where T : class, new() { // cria uma instância do objeto T t = new T(); // pega os campos para poder montar o select List <Campo> campos = Montador.GetCampos(t); // monta o select e filtra pelo campo chave string sql = GetSqlSelect(new T(), filtro); using (MySqlConnection conexao = new MySqlConnection(GetStringConexao())) using (Comando comando = new Comando(conexao, sql)) using (Leitor leitor = comando.Select()) { // não tem nenhum? volta nulo if (leitor.RecordCount == 0) { return(null); } // percorre as propriedades foreach (PropertyInfo property in Auxiliar.PropertySimple(t)) { // valor busta pelo nm_insumo do campo object valor = leitor.GetObject(Auxiliar.GetColumnName(property)); if ((valor != null) && (!(valor is System.DBNull))) { property.SetValue(t, valor, null); } } } return(t); }
public ActionResult Editar(Montador objMontador) { objMontador.Save(); return(RedirectToAction("Listar")); }
/// <summary> /// Grava um objeto mestre e na mesma transação os filhos no list. /// <c> /// List<Empresa> lista = new List<Empresa>(); /// lista.Add(new Empresa() { Nome = "empresa1" }); /// lista.Add(new Empresa() { Nome = "empresa2" }); /// lista.Add(new Empresa() { Nome = "empresa3" }); /// lista.Add(new Empresa() { Nome = "empresa4" }); /// lista.Add(new Empresa() { Nome = "empresa5" }); /// /// int registros_gravados = DAL.GravarList<Empresa>(lista); /// /// Console.WriteLine("Total de registros gravados: " + registros_gravados.ToString()); /// </c> /// </summary> /// <typeparam name="T">Tipo do objeto a ser gravado</typeparam> /// <param name="objMestre">Objeto pai</param> /// <param name="listDetalhes">Lista de T (filhos)</param> /// <returns>O id do registro pai</returns> public static long GravarMestreDetalhe<T>(object objMestre, List<T> listDetalhes) { long idRetorno = Montador.GetKeyId(objMestre); // o Montador.GetCampos retorna num List<Campo> o nome do campo, se é PK e seu valor (Nullable<object>) List<Campo> camposMestre = Montador.GetCampos(objMestre); string tableNameMestre = Montador.GetTableName(objMestre); using (MySqlConnection conexao = new MySqlConnection(GetStringConexao())) using (Transacao transacao = new Transacao(conexao)) { try { #region mestre using (Comando comando = new Comando(transacao, GetSqlInsertUpdate(tableNameMestre, camposMestre))) { foreach (Campo campo in camposMestre) { comando.AddParam(string.Format("@{0}", campo.Nome), (campo.Valor ?? DBNull.Value)); } comando.Execute(); // se é inserção então lemos o ultimo id if (idRetorno == 0) idRetorno = comando.LastInsertId; } #endregion #region detalhes if (listDetalhes.Count > 0) { // pegamos o nome do campo FK no primeiro objeto da lista string campoDetalheFK = Montador.GetFieldFK(listDetalhes[0]); // montamos a estrutura base do SQL string tableNameDetalhes = Montador.GetTableName(listDetalhes[0]); List<Campo> camposDetalhes = Montador.GetCampos(listDetalhes[0]); using (Comando comando = new Comando(transacao, GetSqlInsertUpdate(tableNameDetalhes, camposDetalhes))) { // percorre os objetos da lista foreach (Object obj in listDetalhes) { // atualiza os valores camposDetalhes = Montador.GetCampos(obj); foreach (Campo campo in camposDetalhes) { // o campo atual é FK? e o valor é ZERO (null converte pra zero) ? if (campo.Nome.Equals(campoDetalheFK) && (int)(campo.Valor ?? 0) == 0) campo.Valor = idRetorno; comando.AddParam(string.Format("@{0}", campo.Nome), (campo.Valor ?? DBNull.Value)); } comando.Execute(); // limpa os parâmetros e vamos para o próximo comando.ClearParam(); } } } #endregion transacao.Commit(); } catch (Exception ex) { transacao.RollBack(); throw ex; } } return idRetorno; }
public PartialViewResult _TabelaPartial(Montador montador) { return(PartialView(montadorRepository.ListaMontador().OrderBy(p => p.Nome))); }
public void Excluir(Montador montador) { db.Montador.Remove(montador); db.SaveChanges(); }
public void Editar(Montador montador) { db.Entry(montador).State = EntityState.Modified; db.SaveChanges(); }
public void Adicionar(Montador montador) { db.Montador.Add(montador); db.SaveChanges(); }
public IActionResult Alterar(Montador montador) { service.Alterar(montador); return(RedirectToAction("lista")); }
public IActionResult Alterar(int id) { Montador montador = service.buscarPorId(id); return(View(montador)); }