/// <exception cref="MyException"></exception> public int Inserir(ICliente cliente) { int retorno; var sql = new StringBuilder(); var tblClientes = new TblClientes(); sql.AppendFormat(" INSERT INTO {0} ({1},{2})", tblClientes.NomeTabela, tblClientes.Nome, tblClientes.Status_Id); sql.Append(" VALUES (@nome,@status_id);"); sql.Append(" SET @id=SCOPE_IDENTITY();"); using (var dal = new DalHelperSqlServer()) { try { dal.CriarParametroDeEntrada("nome", SqlDbType.Char, cliente.Nome); dal.CriarParametroDeEntrada("status_id", SqlDbType.SmallInt, cliente.Status.GetHashCode()); var parametroDeSaida = dal.CriarParametroDeSaida("id", SqlDbType.Int); dal.ExecuteNonQuery(sql.ToString()); retorno = Convert.ToInt32(parametroDeSaida.Value); } catch (SqlException) { throw new MyException("Operação não realizada, por favor, tente novamente!"); } } return retorno; }
/// <exception cref="MyException"></exception> public bool ExisteNomenclaturaInformada(ICliente cliente) { bool resultado; var sql = new StringBuilder(); var tblClientes = new TblClientes(); sql.AppendFormat(" SELECT {0}", tblClientes.Id); sql.AppendFormat(" FROM {0}", tblClientes.NomeTabela); sql.AppendFormat(" WHERE {0}=@nome;", tblClientes.Nome); using (var dal = new DalHelperSqlServer()) { try { dal.CriarParametroDeEntrada("nome", SqlDbType.Char, cliente.Nome); resultado = Convert.ToBoolean(dal.ExecuteScalar(sql.ToString()));//Null ou 0 (Zero) = False; > 0 (Zero) = True; } catch (SqlException) { throw new MyException("Operação não realizada, por favor, tente novamente!"); } } return resultado; }
/// <exception cref="MyException"></exception> public IList<ICliente> Listar(Status status) { var clientes = new List<ICliente>(); var sql = new StringBuilder(); var tblClientes = new TblClientes(); sql.AppendFormat(" SELECT DISTINCT {0}, {1}, {2}", tblClientes.Id, tblClientes.Nome, tblClientes.Status_Id); sql.AppendFormat(" FROM {0}", tblClientes.NomeTabela); sql.AppendFormat(" WHERE {0}=@status_id", tblClientes.Status_Id); sql.AppendFormat(" ORDER BY {0};", tblClientes.Nome); using (var dal = new DalHelperSqlServer()) { try { dal.CriarParametroDeEntrada("status_id", SqlDbType.SmallInt, status.GetHashCode()); using (var dr = dal.ExecuteReader(sql.ToString())) { while (dr.Read()) { clientes.Add(new Cliente( dr.GetInt32(0), dr.GetString(1), (Status)dr.GetInt16(2))); } } } catch (SqlException) { throw new MyException("Operação não realizada, por favor, tente novamente!"); } } return clientes; }