Guest User

Untitled

a guest
Mar 2nd, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.90 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data;
  6. using System.Data.SQLite;
  7. /* create table usuarios(
  8. * username text primary key,
  9. * password text not null,
  10. * ultima_sesion text not null,
  11. * fecha_creacion text not null
  12. * )
  13. */
  14. namespace ciberboro
  15. {
  16. class usuario
  17. {
  18. conexion con;
  19. String username;
  20.  
  21. String password;
  22. DateTime ultimaSesion;
  23. DateTime fechaCreacion;
  24. SQLiteCommand comando;
  25. bool logueado = false;
  26.  
  27. public usuario(String username, String password)
  28. {
  29. //procedimiento para crear un usuario
  30. this.username = username;
  31. this.password = password;
  32. this.fechaCreacion = DateTime.Today;
  33. this.ultimaSesion = DateTime.Today;
  34. }
  35.  
  36. public usuario(string username)
  37. {
  38. //para leer un usuario
  39. this.username = username;
  40. string query = "select username, password, ultima_sesion from usuario " +
  41. "where username = @username;";
  42.  
  43. con = new conexion();
  44. comando = new SQLiteCommand(query, con.ConexionSql);
  45.  
  46. SQLiteParameter paramUsername = new SQLiteParameter("@username", this.username);
  47. comando.Parameters.Add(paramUsername);
  48.  
  49. SQLiteDataReader dr;
  50. dr = comando.ExecuteReader();
  51.  
  52. if (dr.HasRows == true)
  53. {
  54. while (dr.Read() == true)
  55. {
  56. this.password = dr[1].ToString(); //TODO: check this shit out!
  57. //this.ultimaSesion = DateTime.Parse(dr[2].ToString());
  58. // this.fechaCreacion = DateTime.Parse(dr[3].ToString());
  59. }
  60.  
  61. }
  62. else
  63. {
  64. throw new NullReferenceException("no existe el usuario");
  65. }
  66. }
  67.  
  68.  
  69. //propiedades
  70.  
  71. public String Username
  72. {
  73. get { return username; }
  74. set { username = value; }
  75. }
  76.  
  77. public bool guardar()
  78. {
  79. //procedimiento para guardar el usuario.
  80. string query;
  81. /*if (this.logueado == true)
  82. {
  83. query = "update usuarios set password = '@password', " +
  84. "fecha_creacion = '@fecha_creacion', ultima_sesion = '@ultima_sesion' where username = '@user_actual';";
  85. }
  86. else
  87. {*/
  88. query = "INSERT INTO usuario(id_usuario, username, password, fecha_registro, ultima_sesion) VALUES(" +
  89. "null, @username, @password, @fecha_creacion, @ultima_sesion);";
  90.  
  91. //}
  92. con = new conexion();
  93. comando = new SQLiteCommand(query, con.ConexionSql);
  94.  
  95. SQLiteParameter paramUsername = new SQLiteParameter("@username", this.username);
  96. SQLiteParameter paramPassword = new SQLiteParameter("@password", this.password);
  97. SQLiteParameter paramFecha = new SQLiteParameter("@fecha_creacion", this.fechaCreacion.ToString());
  98. SQLiteParameter paramUltimaSesion = new SQLiteParameter("@ultima_sesion", this.ultimaSesion.ToString());
  99.  
  100. comando.Parameters.Add(paramUsername);
  101. comando.Parameters.Add(paramPassword);
  102. comando.Parameters.Add(paramFecha);
  103. comando.Parameters.Add(paramUltimaSesion);
  104. try
  105. {
  106. comando.ExecuteNonQuery();
  107. return true;
  108. }
  109. catch (Exception e)
  110. {
  111. Console.WriteLine(e.Message);
  112. return false;
  113. }
  114. }
  115.  
  116. public bool login()
  117. {
  118. //proceso para loguearse
  119. string query = "select username, password, ultima_sesion from usuario " +
  120. "where username = @username and password = @password;";
  121.  
  122. con = new conexion();
  123. comando = new SQLiteCommand(query, con.ConexionSql);
  124.  
  125. SQLiteParameter paramUsername = new SQLiteParameter("@username", this.username);
  126. SQLiteParameter paramPassword = new SQLiteParameter("@password", this.password);
  127.  
  128. comando.Parameters.Add(paramUsername);
  129. comando.Parameters.Add(paramPassword);
  130.  
  131. SQLiteDataReader dr;
  132. dr = comando.ExecuteReader();
  133.  
  134. if (dr.HasRows == true)
  135. {
  136. while (dr.Read() == true)
  137. {
  138. this.username = dr[0].ToString();
  139. this.password = dr[1].ToString();
  140. //this.ultimaSesion = DateTime.Parse(dr[2].ToString());
  141. //this.fechaCreacion = DateTime.Parse(dr[3].ToString());
  142. }
  143. this.logueado = true;
  144.  
  145. query = "update usuario set ultima_sesion = '" + DateTime.Now.ToString() + "' where username = @username";
  146. comando = new SQLiteCommand(query, con.ConexionSql);
  147. comando.Parameters.Add(paramUsername);
  148. comando.ExecuteNonQuery();
  149.  
  150. return true;
  151. }
  152. else
  153. {
  154. return false;
  155. }
  156.  
  157.  
  158. }
  159.  
  160. public bool borrar()
  161. {
  162. con = new conexion();
  163. string query = "delete from usuarios where username = @username;";
  164. comando = new SQLiteCommand(query, con.ConexionSql);
  165.  
  166. comando.Parameters.Add(new SQLiteParameter("@username", this.username));
  167.  
  168.  
  169. try
  170. {
  171. comando.ExecuteNonQuery();
  172. return true;
  173. }
  174. catch (Exception e)
  175. {
  176. Console.Write(e.Message);
  177. return false;
  178. }
  179. }
  180. }
  181. }
Add Comment
Please, Sign In to add comment