alunosnet

Livro

Jan 21st, 2020
104
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class Livro
  2. {
  3. public int nlivro;
  4. public string nome;
  5. public int ano;
  6. public DateTime data_aquisicao;
  7. public decimal preco;
  8. public string autor;
  9. public string tipo;
  10. public int estado;
  11.  
  12. BaseDados bd;
  13.  
  14. public Livro()
  15. {
  16. bd = new BaseDados();
  17. }
  18.  
  19. public int Adicionar()
  20. {
  21. string sql = @"INSERT INTO Livros(nome,ano,data_aquisicao,preco,autor,tipo,estado)
  22. VALUES (@nome,@ano,@data_aquisicao,@preco,@autor,@tipo,@estado);
  23. SELECT CAST(SCOPE_IDENTITY() AS INT)";
  24. List<SqlParameter> parametros = new List<SqlParameter>()
  25. {
  26. new SqlParameter()
  27. {
  28. ParameterName="@nome",
  29. SqlDbType=System.Data.SqlDbType.VarChar,
  30. Value=this.nome
  31. },
  32. new SqlParameter()
  33. {
  34. ParameterName="@ano",
  35. SqlDbType=System.Data.SqlDbType.Int,
  36. Value=this.ano
  37. },
  38. new SqlParameter()
  39. {
  40. ParameterName="@data_aquisicao",
  41. SqlDbType=System.Data.SqlDbType.Date,
  42. Value=this.data_aquisicao
  43. },
  44. new SqlParameter()
  45. {
  46. ParameterName="@preco",
  47. SqlDbType=System.Data.SqlDbType.Decimal,
  48. Value=this.preco
  49. },
  50. new SqlParameter()
  51. {
  52. ParameterName="@autor",
  53. SqlDbType=System.Data.SqlDbType.VarChar,
  54. Value=this.autor
  55. },
  56. new SqlParameter()
  57. {
  58. ParameterName="@tipo",
  59. SqlDbType=System.Data.SqlDbType.VarChar,
  60. Value=this.tipo
  61. },
  62. new SqlParameter()
  63. {
  64. ParameterName="@estado",
  65. SqlDbType=System.Data.SqlDbType.Int,
  66. Value=this.estado
  67. },
  68. };
  69. return bd.executaEDevolveSQL(sql, parametros);
  70. }
  71.  
  72. internal DataTable ListaTodosLivros()
  73. {
  74. string sql = @"SELECT nlivro,nome,ano,data_aquisicao,
  75. preco, autor, tipo,
  76. case
  77. when estado=0 then 'Emprestado'
  78. when estado=1 then 'Disponível'
  79. when estado=2 then 'Reservado'
  80. end as estado
  81. FROM Livros";
  82. return bd.devolveSQL(sql);
  83. }
  84.  
  85. public DataTable devolveDadosLivro(int nlivro)
  86. {
  87. string sql = "SELECT * FROM Livros WHERE nlivro=@nlivro";
  88. List<SqlParameter> parametros = new List<SqlParameter>()
  89. {
  90. new SqlParameter() {ParameterName="@nlivro",SqlDbType=SqlDbType.Int,Value=nlivro }
  91. };
  92. return bd.devolveSQL(sql, parametros);
  93. }
  94. public void removerLivro(int nlivro)
  95. {
  96. string sql = "DELETE FROM Livros WHERE nlivro=@nlivro";
  97. List<SqlParameter> parametros = new List<SqlParameter>()
  98. {
  99. new SqlParameter() {ParameterName="@nlivro",SqlDbType=SqlDbType.Int,Value=nlivro }
  100. };
  101. bd.executaSQL(sql, parametros);
  102. }
  103. public void atualizaLivro()
  104. {
  105. string sql = "UPDATE Livros SET nome=@nome,ano=@ano,data_aquisicao=@data,preco=@preco,";
  106. sql += "autor=@autor, tipo=@tipo ";
  107. sql += " WHERE nlivro=@nlivro;";
  108. List<SqlParameter> parametros = new List<SqlParameter>()
  109. {
  110. new SqlParameter() {ParameterName="@nome",SqlDbType=SqlDbType.VarChar,Value= nome},
  111. new SqlParameter() {ParameterName="@ano",SqlDbType=SqlDbType.Int,Value= ano},
  112. new SqlParameter() {ParameterName="@data",SqlDbType=SqlDbType.DateTime,Value= data_aquisicao},
  113. new SqlParameter() {ParameterName="@preco",SqlDbType=SqlDbType.Decimal,Value= preco},
  114. new SqlParameter() {ParameterName="@autor",SqlDbType=SqlDbType.VarChar,Value=autor},
  115. new SqlParameter() {ParameterName="@tipo",SqlDbType=SqlDbType.VarChar,Value=tipo},
  116. new SqlParameter() {ParameterName="@nlivro",SqlDbType=SqlDbType.Int,Value=nlivro}
  117. };
  118. bd.executaSQL(sql, parametros);
  119. }
  120. public DataTable listaLivrosDisponiveis(int? ordena = null)
  121. {
  122. string sql = "SELECT * FROM Livros WHERE estado=1";
  123. if (ordena != null && ordena == 1)
  124. {
  125. sql += " order by preco";
  126. }
  127. if (ordena != null && ordena == 2)
  128. {
  129. sql += " order by autor";
  130. }
  131. return bd.devolveSQL(sql);
  132. }
RAW Paste Data