Advertisement
Guest User

Untitled

a guest
Nov 20th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.27 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. using capaDALC;
  8. using System.Data.Objects;
  9.  
  10. namespace capaLogicaNegocio
  11. {
  12. public class CL_Arriendo
  13. {
  14. private string _rut;
  15. private string _nombreDisfraz;
  16. private DateTime _fechaArriendo;
  17. private int _diasArriendo;
  18. private CL_TipoPago _tipoPago;
  19. private CL_TipoDisfraz _tipoDisfraz;
  20. #region
  21. public string Rut
  22. {
  23. get
  24. {
  25. return _rut;
  26. }
  27.  
  28. set
  29. {
  30. _rut = value;
  31. }
  32. }
  33.  
  34. public string NombreDisfraz
  35. {
  36. get
  37. {
  38. return _nombreDisfraz;
  39. }
  40.  
  41. set
  42. {
  43. _nombreDisfraz = value;
  44. }
  45. }
  46.  
  47. public DateTime FechaArriendo
  48. {
  49. get
  50. {
  51. return _fechaArriendo;
  52. }
  53.  
  54. set
  55. {
  56. _fechaArriendo = value;
  57. }
  58. }
  59.  
  60. public int DiasArriendo
  61. {
  62. get
  63. {
  64. return _diasArriendo;
  65. }
  66.  
  67. set
  68. {
  69. _diasArriendo = value;
  70. }
  71. }
  72.  
  73. public CL_TipoPago TipoPago
  74. {
  75. get
  76. {
  77. return _tipoPago;
  78. }
  79.  
  80. set
  81. {
  82. _tipoPago = value;
  83. }
  84. }
  85.  
  86. public CL_TipoDisfraz TipoDisfraz
  87. {
  88. get
  89. {
  90. return _tipoDisfraz;
  91. }
  92.  
  93. set
  94. {
  95. _tipoDisfraz = value;
  96. }
  97. }
  98. #endregion
  99. private CL_Contexto conexion;
  100. public CL_Arriendo()
  101. {
  102. conexion = new CL_Contexto();
  103. }
  104.  
  105. public bool agregar() {
  106. try
  107. {
  108. Arriendo arriendo = new Arriendo();
  109. arriendo.Rut = this.Rut;
  110. arriendo.NombreDisfraz = this.NombreDisfraz;
  111. arriendo.FechaArriendo = this.FechaArriendo;
  112. arriendo.DiasArriendo = this.DiasArriendo;
  113. arriendo.IdTipoPago = this.TipoPago.IdTipoPago;
  114. arriendo.IdTipoDifraz = this.TipoDisfraz.IdTipoDisfraz;
  115.  
  116. conexion.Entidades.Arriendo.Add(arriendo);
  117. conexion.Entidades.SaveChanges();
  118. return true;
  119.  
  120. }
  121. catch (Exception ex)
  122. {
  123.  
  124. return false;
  125. }
  126. }
  127.  
  128. public bool eliminar()
  129. {
  130. try
  131. {
  132. //se busca por sus 2 claves primarias
  133. Arriendo arriendo = conexion.Entidades.Arriendo.Find(this.Rut, this.NombreDisfraz);
  134. conexion.Entidades.Arriendo.Remove(arriendo);
  135. conexion.Entidades.SaveChanges();
  136. return true;
  137.  
  138. }
  139. catch (Exception ex)
  140. {
  141.  
  142. return false;
  143. }
  144. }
  145.  
  146. public bool actualizar()
  147. {
  148. try
  149. {
  150. Arriendo arriendo = conexion.Entidades.Arriendo.Find(this.Rut, this.NombreDisfraz);
  151. arriendo.Rut = this.Rut;
  152. arriendo.NombreDisfraz = this.NombreDisfraz;
  153. arriendo.FechaArriendo = this.FechaArriendo;
  154. arriendo.DiasArriendo = this.DiasArriendo;
  155. arriendo.IdTipoPago = this.TipoPago.IdTipoPago;
  156. arriendo.IdTipoDifraz = this.TipoDisfraz.IdTipoDisfraz;
  157.  
  158. conexion.Entidades.SaveChanges();
  159. return true;
  160. }
  161. catch (Exception ex)
  162. {
  163.  
  164. return false;
  165. }
  166. }
  167.  
  168. public CL_Arriendo buscar()
  169. {
  170. try
  171. {
  172. //se busca el objeto por las claves compuestas
  173. Arriendo arriendo = conexion.Entidades.Arriendo.Find(this.Rut, this.NombreDisfraz);
  174.  
  175. CL_Arriendo arr = new CL_Arriendo();
  176. arr.Rut = arriendo.Rut;
  177. arr.NombreDisfraz = arriendo.NombreDisfraz;
  178. arr.FechaArriendo = arriendo.FechaArriendo;
  179. arr.DiasArriendo = arriendo.DiasArriendo;
  180. arr.TipoPago = new CL_TipoPago(arriendo.IdTipoPago);
  181. arr.TipoDisfraz = new CL_TipoDisfraz(arriendo.IdTipoDifraz);
  182.  
  183.  
  184. return arr;
  185.  
  186.  
  187.  
  188. }
  189. catch (Exception ex)
  190. {
  191.  
  192. return null;
  193. }
  194. }
  195.  
  196.  
  197. public IEnumerable<Object> listarArriendos() {
  198. try
  199. {
  200. var lista = conexion.Entidades.Arriendo.Select(
  201. arriendo => new {
  202. Cliente = arriendo.Cliente.Nombres + " " + arriendo.Cliente.Apellidos,
  203. Disfraz = arriendo.NombreDisfraz,
  204. TipoPago = arriendo.TipoPago.NombreTipoPago,
  205. TipoDisfraz = arriendo.TipoDisfraz.NombreTipoDisfraz,
  206. FechaArriendo = arriendo.FechaArriendo,
  207. TerminoArriendo = EntityFunctions.AddDays(arriendo.FechaArriendo, arriendo.DiasArriendo)
  208. }).ToList();
  209. return lista;
  210. }
  211. catch (Exception ex)
  212. {
  213. return null;
  214. }
  215.  
  216. }
  217.  
  218. public IEnumerable<Object> listadoPorFechaArriendo(DateTime inferior, DateTime superior)
  219. {
  220. try
  221. {
  222. //si la fecha está en el tramo, se hace un select de todos esos arriendos que cumplen la condicion
  223. var lista = conexion.Entidades.Arriendo.Where(x=> x.FechaArriendo >= inferior && x.FechaArriendo <= superior)
  224. .Select(
  225. arriendo => new {
  226. Cliente = arriendo.Cliente.Nombres + " " + arriendo.Cliente.Apellidos,
  227. Disfraz = arriendo.NombreDisfraz,
  228. TipoPago = arriendo.TipoPago.NombreTipoPago,
  229. TipoDisfraz = arriendo.TipoDisfraz.NombreTipoDisfraz,
  230. FechaArriendo = arriendo.FechaArriendo,
  231. TerminoArriendo = EntityFunctions.AddDays(arriendo.FechaArriendo, arriendo.DiasArriendo)
  232. }).ToList();
  233. return lista;
  234. }
  235. catch (Exception ex)
  236. {
  237. return null;
  238. }
  239.  
  240. }
  241.  
  242. public IEnumerable<Object> listadoTerminoArriendo(DateTime fechaTermino)
  243. {
  244. try
  245. {
  246. //busco aquellos arriendo que su fecha de termino, sea igual a la buscada.
  247. //como la fecha de termino de arriendo, no existe, se calcula "sumando la fecha de arriendo + dias de arriendo"
  248.  
  249. var lista = conexion.Entidades.Arriendo.Where(x => EntityFunctions.AddDays(x.FechaArriendo, x.DiasArriendo) == fechaTermino)
  250. .Select(
  251. arriendo => new {
  252. Cliente = arriendo.Cliente.Nombres + " " + arriendo.Cliente.Apellidos,
  253. Disfraz = arriendo.NombreDisfraz,
  254. TipoPago = arriendo.TipoPago.NombreTipoPago,
  255. TipoDisfraz = arriendo.TipoDisfraz.NombreTipoDisfraz,
  256. FechaArriendo = arriendo.FechaArriendo,
  257. TerminoArriendo = EntityFunctions.AddDays(arriendo.FechaArriendo, arriendo.DiasArriendo)
  258. }).ToList();
  259. return lista;
  260. }
  261. catch (Exception ex)
  262. {
  263. return null;
  264. }
  265.  
  266. }
  267. }
  268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement