/// <exception cref="MyException"></exception> public int Inserir(ICliente cliente) { int retorno; var sql = new StringBuilder(); ITblClientes tblClientes = new TblClientes(); sql.AppendFormat(" INSERT INTO {0} ({1},{2})", tblClientes.NomeTabela, tblClientes.Nome, tblClientes.StatusId); 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 IList<IUnidade> Listar(ICliente cliente, Status status) { var unidades = new List<IUnidade>(); var sql = new StringBuilder(); ITblUnidades tblUnidades = new TblUnidades(); sql.AppendFormat(" SELECT DISTINCT {0}, {1}, {2}", tblUnidades.Id, tblUnidades.Nome, tblUnidades.StatusId); sql.AppendFormat(" FROM {0}", tblUnidades.NomeTabela); sql.AppendFormat(" WHERE {0}=@id", tblUnidades.ClientesId); sql.AppendFormat(" AND {0}=@status_id", tblUnidades.StatusId); sql.AppendFormat(" ORDER BY {0};", tblUnidades.Nome); using (var dal = new DalHelperSqlServer()) { try { dal.CriarParametroDeEntrada("id", SqlDbType.Int, cliente.Id); dal.CriarParametroDeEntrada("status_id", SqlDbType.SmallInt, status.GetHashCode()); using (var dr = dal.ExecuteReader(sql.ToString())) { while (dr.Read()) { unidades.Add(FactoryUnidade.Manufacture( dr.GetInt32(0), dr.GetString(1), (Status)dr.GetInt16(2))); } dr.Close(); } } catch (SqlException) { throw new MyException("Operação não realizada, por favor, tente novamente!"); } } return unidades; }
/// <exception cref="MyException"></exception> public bool ExisteNomenclaturaInformada(ICliente cliente) { bool resultado; var sql = new StringBuilder(); ITblClientes 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; }