Advertisement
alunosnet

Utilizador

Jan 21st, 2020
708
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.87 KB | None | 0 0
  1. public class Utilizador
  2. {
  3. public int id;
  4. public string nome;
  5. public string email;
  6. public string morada;
  7. public string nif;
  8. public string password;
  9. public int perfil;
  10.  
  11. BaseDados bd;
  12.  
  13. public Utilizador()
  14. {
  15. bd = new BaseDados();
  16. }
  17.  
  18. //adicionar
  19. public void Adicionar()
  20. {
  21. string sql = @"INSERT INTO utilizadores(email,nome,morada,nif,password,estado,perfil)
  22. VALUES (@email,@nome,@morada,@nif,HASHBYTES('SHA2_512',@password),@estado,@perfil)";
  23. List<SqlParameter> parametros = new List<SqlParameter>()
  24. {
  25. new SqlParameter()
  26. {
  27. ParameterName="@email",
  28. SqlDbType=System.Data.SqlDbType.VarChar,
  29. Value=this.email
  30. },
  31. new SqlParameter()
  32. {
  33. ParameterName="@nome",
  34. SqlDbType=System.Data.SqlDbType.VarChar,
  35. Value=this.nome
  36. },
  37. new SqlParameter()
  38. {
  39. ParameterName="@morada",
  40. SqlDbType=System.Data.SqlDbType.VarChar,
  41. Value=this.morada
  42. },
  43. new SqlParameter()
  44. {
  45. ParameterName="@nif",
  46. SqlDbType=System.Data.SqlDbType.VarChar,
  47. Value=this.nif
  48. },
  49. new SqlParameter()
  50. {
  51. ParameterName="@password",
  52. SqlDbType=System.Data.SqlDbType.VarChar,
  53. Value=this.password
  54. },
  55. new SqlParameter()
  56. {
  57. ParameterName="@estado",
  58. SqlDbType=System.Data.SqlDbType.Int,
  59. Value=1
  60. },
  61. new SqlParameter()
  62. {
  63. ParameterName="@perfil",
  64. SqlDbType=System.Data.SqlDbType.Int,
  65. Value=this.perfil
  66. },
  67. };
  68. bd.executaSQL(sql, parametros);
  69. }
  70.  
  71. internal DataTable ListaTodosUtilizadores()
  72. {
  73. return bd.devolveSQL("SELECT * FROM Utilizadores");
  74. }
  75. public DataTable listaTodosUtilizadoresDisponiveis()
  76. {
  77. string sql = $@"SELECT id, email,nome, morada, nif, estado, perfil
  78. FROM utilizadores where estado=1";
  79. return bd.devolveSQL(sql);
  80. }
  81.  
  82. public void atualizarUtilizador()
  83. {
  84. string sql = @"UPDATE utilizadores SET nome=@nome,morada=@morada,nif=@nif
  85. WHERE id=@id";
  86.  
  87. List<SqlParameter> parametros = new List<SqlParameter>()
  88. {
  89. new SqlParameter() {ParameterName="@nome",SqlDbType=SqlDbType.VarChar,Value=nome },
  90. new SqlParameter() {ParameterName="@morada",SqlDbType=SqlDbType.VarChar,Value=morada },
  91. new SqlParameter() {ParameterName="@nif",SqlDbType=SqlDbType.VarChar,Value=nif },
  92. new SqlParameter() {ParameterName="@id",SqlDbType=SqlDbType.Int,Value=id },
  93. };
  94. bd.executaSQL(sql, parametros);
  95. }
  96. public DataTable devolveDadosUtilizador(int id)
  97. {
  98. string sql = "SELECT * FROM utilizadores WHERE id=@id";
  99. List<SqlParameter> parametros = new List<SqlParameter>()
  100. {
  101. new SqlParameter() {ParameterName="@id",SqlDbType=SqlDbType.Int,Value=id }
  102. };
  103. DataTable dados = bd.devolveSQL(sql, parametros);
  104. if (dados.Rows.Count == 0)
  105. {
  106. return null;
  107. }
  108. return dados;
  109. }
  110. public int estadoUtilizador(int id)
  111. {
  112. string sql = "SELECT estado FROM utilizadores WHERE id=@id";
  113. List<SqlParameter> parametros = new List<SqlParameter>()
  114. {
  115. new SqlParameter() {ParameterName="@id",SqlDbType=SqlDbType.Int,Value=id }
  116. };
  117. DataTable dados = bd.devolveSQL(sql, parametros);
  118. return int.Parse(dados.Rows[0][0].ToString());
  119. }
  120. public void ativarDesativarUtilizador(int id)
  121. {
  122. int estado = this.estadoUtilizador(id);
  123. if (estado == 0) estado = 1;
  124. else estado = 0;
  125. string sql = "UPDATE utilizadores SET estado = @estado WHERE id=@id";
  126. List<SqlParameter> parametros = new List<SqlParameter>()
  127. {
  128. new SqlParameter() {ParameterName="@estado",SqlDbType=SqlDbType.Bit,Value=estado },
  129. new SqlParameter() {ParameterName="@id",SqlDbType=SqlDbType.Int,Value=id }
  130. };
  131. bd.executaSQL(sql, parametros);
  132. }
  133. public void removerUtilizador(int id)
  134. {
  135. string sql = "DELETE FROM Utilizadores WHERE id=@id";
  136.  
  137. List<SqlParameter> parametros = new List<SqlParameter>()
  138. {
  139. new SqlParameter() {ParameterName="@id",SqlDbType=SqlDbType.Int,Value= id},
  140. };
  141. bd.executaSQL(sql, parametros);
  142. }
  143. public void recuperarPassword(string email, string guid)
  144. {
  145. string sql = "UPDATE utilizadores set lnkRecuperar=@lnk WHERE email=@email";
  146.  
  147. List<SqlParameter> parametros = new List<SqlParameter>()
  148. {
  149. new SqlParameter() {ParameterName="@email",SqlDbType=SqlDbType.VarChar,Value=email },
  150. new SqlParameter() {ParameterName="@lnk",SqlDbType=SqlDbType.VarChar,Value=guid },
  151. };
  152. bd.executaSQL(sql, parametros);
  153. }
  154. public void atualizarPassword(string guid, string password)
  155. {
  156. string sql = "UPDATE utilizadores set password=HASHBYTES('SHA2_512',@password),estado=1,lnkRecuperar=null WHERE lnkRecuperar=@lnk";
  157.  
  158. List<SqlParameter> parametros = new List<SqlParameter>()
  159. {
  160. new SqlParameter() {ParameterName="@password",SqlDbType=SqlDbType.VarChar,Value=password},
  161. new SqlParameter() {ParameterName="@lnk",SqlDbType=SqlDbType.VarChar,Value=guid },
  162. };
  163. bd.executaSQL(sql, parametros);
  164. }
  165. public DataTable devolveDadosUtilizador(string email)
  166. {
  167. string sql = "SELECT * FROM utilizadores WHERE email=@email";
  168. List<SqlParameter> parametros = new List<SqlParameter>()
  169. {
  170. new SqlParameter() {ParameterName="@email",SqlDbType=SqlDbType.VarChar,Value=email }
  171. };
  172. DataTable dados = bd.devolveSQL(sql, parametros);
  173. return dados;
  174. }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement