/V 1.1/ProyectoFinal/DL/UsuariosManager.cs

https://gitlab.com/SITCOM/dev_Sitcom
C# | 167 lines | 154 code | 13 blank | 0 comment | 25 complexity | 0ff68d4603f10429e1f93282b9e01e5b MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using BussinesEntities;
  7. using DAL;
  8. namespace BL
  9. {
  10. public class UsuariosManager
  11. {
  12. public UsuarioEntity userActual;
  13. public ConvertidorEntitiesToDAL convert = new ConvertidorEntitiesToDAL();
  14. public List<UsuarioEntity> GetAllUsuarios()
  15. {
  16. using (var db = new SitcomEntities())
  17. {
  18. var result = (from u in db.Usuarios
  19. select new UsuarioEntity()
  20. {
  21. idUsuario = u.idUsuario,
  22. nombreUsuario = u.nombreUsuario,
  23. password = u.password,
  24. idPerfil = u.idPerfil,
  25. Perfiles = (from p in db.Perfiles
  26. where p.idPerfil == u.idPerfil
  27. select p).FirstOrDefault()
  28. }).ToList<UsuarioEntity>();
  29. return result;
  30. }
  31. }
  32. public void DeleteUsuarios(int id)
  33. {
  34. using (var db = new SitcomEntities())
  35. {
  36. var result = (from u in db.Usuarios
  37. where u.idUsuario == id
  38. select u).FirstOrDefault();
  39. if (result != null)
  40. {
  41. db.Usuarios.Remove(result);
  42. db.SaveChanges();
  43. }
  44. }
  45. }
  46. public UsuarioEntity GetUsuarioById(int? id)
  47. {
  48. using (var db = new SitcomEntities())
  49. {
  50. var result = (from u in db.Usuarios
  51. where u.idUsuario == id
  52. select new UsuarioEntity()
  53. {
  54. idUsuario = u.idUsuario,
  55. nombreUsuario = u.nombreUsuario,
  56. password = u.password,
  57. idPerfil = u.idPerfil,
  58. Perfiles = (from p in db.Perfiles
  59. where p.idPerfil == u.idPerfil
  60. select p).FirstOrDefault()
  61. }).FirstOrDefault();
  62. return result;
  63. }
  64. }
  65. public UsuarioEntity GetUsuarioByNombre(string mail)
  66. {
  67. using (var db = new SitcomEntities())
  68. {
  69. var result = (from u in db.Usuarios
  70. where u.nombreUsuario == mail
  71. select new UsuarioEntity()
  72. {
  73. idUsuario = u.idUsuario,
  74. nombreUsuario = u.nombreUsuario,
  75. password = u.password,
  76. idPerfil = u.idPerfil,
  77. Perfiles = (from p in db.Perfiles
  78. where p.idPerfil == u.idPerfil
  79. select p).FirstOrDefault()
  80. }).FirstOrDefault();
  81. return result;
  82. }
  83. }
  84. public void AddUsuarios(UsuarioEntity u)
  85. {
  86. using(SitcomEntities db = new SitcomEntities())
  87. {
  88. var user = new Usuarios()
  89. {
  90. nombreUsuario = u.nombreUsuario,
  91. password = u.password,
  92. idPerfil = u.idPerfil
  93. };
  94. db.Usuarios.Add(user);
  95. db.SaveChanges();
  96. }
  97. }
  98. public void UpdateUsuarios(UsuarioEntity us)
  99. {
  100. using (SitcomEntities db = new SitcomEntities())
  101. {
  102. var result = (from u in db.Usuarios
  103. where u.idUsuario == us.idUsuario
  104. select u).FirstOrDefault();
  105. if(result != null)
  106. {
  107. result.nombreUsuario = us.nombreUsuario;
  108. result.password = us.password;
  109. result.idPerfil = us.idPerfil;
  110. if(us.Persona != null)
  111. result.Persona = convert.PersonaEntityToPersona(us.Persona);
  112. db.SaveChanges();
  113. }
  114. }
  115. }
  116. public UsuarioEntity ValidarUsuario(string mail, string pass)
  117. {
  118. using(SitcomEntities db = new SitcomEntities())
  119. {
  120. var result = (from u in db.Usuarios
  121. where u.nombreUsuario == mail && u.password == pass
  122. select new UsuarioEntity()
  123. {
  124. idUsuario = u.idUsuario,
  125. nombreUsuario = u.nombreUsuario,
  126. password = u.password,
  127. idPerfil = u.idPerfil,
  128. Perfiles = (from p in db.Perfiles
  129. where p.idPerfil == u.idPerfil
  130. select p).FirstOrDefault(),
  131. idPersona = u.idPersona
  132. }).FirstOrDefault();
  133. return result;
  134. }
  135. }
  136. public bool ValidarPermisoVista(UsuarioEntity us, string controlador, string vista)
  137. {
  138. using (SitcomEntities db = new SitcomEntities())
  139. {
  140. var result = (from u in db.PaginasXPerfil
  141. where u.idPerfil == us.idPerfil
  142. && u.idPagina == (from p in db.Paginas
  143. where p.controlador == controlador
  144. && p.vista == vista
  145. select p.idPagina).FirstOrDefault()
  146. select u).FirstOrDefault();
  147. if(result != null)
  148. return true;
  149. else
  150. return false;
  151. }
  152. }
  153. }
  154. }