/DataAccess/DAOs/DAO_TipoOficina.cs

http://coopensens.googlecode.com/ · C# · 285 lines · 210 code · 27 blank · 48 comment · 5 complexity · 765e85c4e48d095c952d5535cf94a160 MD5 · raw file

  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Data.Objects;
  5. using System.Linq;
  6. using System.Text;
  7. using Rubik.Coopecens.Framework.AbstractClass;
  8. using Rubik.Coopecens.EDM;
  9. using Rubik.Coopecens.EDM.DataContext;
  10. using Rubik.Coopecens.DataAccess.Interfaces;
  11. namespace Rubik.Coopecens.DataAccess.DAOs
  12. {
  13. public class DAO_TipoOficina : MainDAO, ITipoOfi
  14. {
  15. public DAO_TipoOficina()
  16. {
  17. }
  18. public DAO_TipoOficina(ref CoopecensDataContext DataContext)
  19. : base(ref DataContext)
  20. {
  21. }
  22. /// <summary>
  23. /// Obtiene un TipoOficina por un id
  24. /// </summary>
  25. /// <param name="id">Identificador del TipoOficina</param>
  26. /// <returns></returns>
  27. public TipoOficina GetById(string id)
  28. {
  29. try
  30. {
  31. var oReturn = (from usr in oDataContext.TipoOficinas
  32. where usr.Id_TipoOficina == int.Parse(id)
  33. select usr).Single();
  34. return oReturn;
  35. }
  36. catch (Exception ex)
  37. {
  38. throw new Exception(string.Format("Error al obtener Tipo Oficina por id, Erro: {0}", ex.Message));
  39. }
  40. }
  41. /// <summary>
  42. /// Obtiene todos los TipoOficinas que se encuentran en la BD
  43. /// </summary>
  44. /// <returns>Lista de TipoOficinas de la BD</returns>
  45. public IList<TipoOficina> GetAll()
  46. {
  47. try
  48. {
  49. var oReturn = (from usr in oDataContext.TipoOficinas
  50. select usr).ToList<TipoOficina>();
  51. return oReturn;
  52. }
  53. catch (Exception ex)
  54. {
  55. throw new Exception(string.Format("Error al obtener TipoOficinas, Erro: {0}", ex.Message));
  56. }
  57. }
  58. /// <summary>
  59. /// Obtiene una lista de TipoOficinas por una busqueda de condiciones definida.
  60. /// </summary>
  61. /// <param name="parameters">Lista de parametros de busqueda/filtros.</param>
  62. /// <returns>Lista de resultados TipoOficinas obtenidos por los filtros definidos.</returns>
  63. public IList<TipoOficina> GetListByParameters(IDictionary<object, object> parameters)
  64. {
  65. try
  66. {
  67. var query = parameters.Where(p => p.Value != null).Aggregate(@"SELECT VALUE TipoOficina
  68. FROM CoopecensDataContext.TipoOficinas as TipoOficina
  69. WHERE '1'='1' ",
  70. (current, p) =>
  71. current +
  72. (" AND TipoOficina." + p.Key + " LIKE @" + p.Key)) + " ";
  73. ObjectParameter[] oObjectParameters = new ObjectParameter[parameters.Count];
  74. int i = 0;
  75. foreach (KeyValuePair<object, object> oParam in parameters)
  76. {
  77. oObjectParameters[i] = new ObjectParameter(oParam.Key.ToString().ToUpper(), oParam.Value.ToString().ToUpper());
  78. }
  79. ObjectQuery<TipoOficina> oUsiariosQuery = oDataContext.CreateQuery<TipoOficina>(query, oObjectParameters);
  80. return oUsiariosQuery.ToList<TipoOficina>();
  81. }
  82. catch (Exception ex)
  83. {
  84. throw new Exception(string.Format("Error al obtener TipoOficina por oarametros, Error: {0}", ex.Message));
  85. }
  86. }
  87. /// <summary>
  88. /// Obtiene una lista de TipoOficinas por una busqueda de condiciones definida.
  89. /// </summary>
  90. /// <param name="parameters">Lista de parametros de busqueda/filtros.</param>
  91. /// <returns>Lista de resultados TipoOficinas obtenidos por los filtros definidos.</returns>
  92. public IList GetTipoOfiParameters(IDictionary<object, object> parameters)
  93. {
  94. try
  95. {
  96. var query = parameters.Where(p => p.Value != null).Aggregate(@"SELECT VALUE TipoOficina
  97. FROM CoopecensDataContext.TipoOficinas as TipoOficina
  98. WHERE '1'='1' ",
  99. (current, p) =>
  100. current +
  101. (" AND TipoOficina." + p.Key + " LIKE @" + p.Key)) + " ";
  102. ObjectParameter[] oObjectParameters = new ObjectParameter[parameters.Count];
  103. int i = 0;
  104. foreach (KeyValuePair<object, object> oParam in parameters)
  105. {
  106. oObjectParameters[i] = new ObjectParameter(oParam.Key.ToString().ToUpper(), oParam.Value.ToString().ToUpper());
  107. }
  108. ObjectQuery<TipoOficina> oUsiariosQuery = oDataContext.CreateQuery<TipoOficina>(query, oObjectParameters);
  109. return oUsiariosQuery.ToList();
  110. }
  111. catch (Exception ex)
  112. {
  113. throw new Exception(string.Format("Error al obtener TipoOficina por parametros, Error: {0}", ex.Message));
  114. }
  115. }
  116. /// <summary>
  117. /// Obtiene una lista de TipoOficinas por una busqueda de condiciones definida para el combo de OFICINA.
  118. /// </summary>
  119. /// <param name="parameters">Lista de parametros de busqueda/filtros.</param>
  120. /// <returns>Lista de resultados TipoOficinas obtenidos por los filtros definidos.</returns>
  121. public IList GetcbTipoOfiParameters(IDictionary<object, object> parameters)
  122. {
  123. try
  124. {
  125. var query = parameters.Where(p => p.Value != null).Aggregate(@"SELECT VALUE TipoOficina
  126. FROM CoopecensDataContext.TipoOficinas as TipoOficina
  127. WHERE '1'='1' ",
  128. (current, p) =>
  129. current +
  130. (" AND TipoOficina." + p.Key + " = @" + p.Key)) + " ";
  131. ObjectParameter[] oObjectParameters = new ObjectParameter[parameters.Count];
  132. int i = 0;
  133. foreach (KeyValuePair<object, object> oParam in parameters)
  134. {
  135. oObjectParameters[i] = new ObjectParameter((string)oParam.Key, (int)oParam.Value);
  136. }
  137. ObjectQuery<TipoOficina> oUsiariosQuery = oDataContext.CreateQuery<TipoOficina>(query, oObjectParameters);
  138. return oUsiariosQuery.ToList();
  139. }
  140. catch (Exception ex)
  141. {
  142. throw new Exception(string.Format("Error al obtener TipoOficina por parametros, Error: {0}", ex.Message));
  143. }
  144. }
  145. /// <summary>
  146. /// Retorna un nuevo objeto TipoOficina por una lista de parametros establecida
  147. /// </summary>
  148. /// <param name="parameters">Lista de parametros de filtro</param>
  149. /// <returns>Objeto TipoOficina con los parametros definidos</returns>
  150. public TipoOficina GetObjectByParameter(IDictionary<object, object> parameters)
  151. {
  152. try
  153. {
  154. var query = parameters.Where(p => p.Value != null).Aggregate(@"SELECT VALUE TipoOficina
  155. FROM CoopecensDataContext.TipoOficinas as TipoOficina
  156. WHERE '1'='1' ",
  157. (current, p) =>
  158. current +
  159. (" AND TipoOficina." + p.Key + " LIKE @" + p.Key)) + " ";
  160. ObjectParameter[] oObjectParameters = new ObjectParameter[parameters.Count];
  161. int i = 0;
  162. foreach (KeyValuePair<object, object> oParam in parameters)
  163. {
  164. oObjectParameters[i] = new ObjectParameter(oParam.Key.ToString(), oParam.Value.ToString());
  165. i++;
  166. }
  167. ObjectQuery<TipoOficina> oUsiariosQuery = oDataContext.CreateQuery<TipoOficina>(query, oObjectParameters);
  168. return (TipoOficina)oUsiariosQuery.Single();
  169. }
  170. catch (Exception ex)
  171. {
  172. throw new Exception(string.Format("Error al obtener TipoOficina por oarametros, Error: {0}", ex.Message));
  173. }
  174. }
  175. /// <summary>
  176. /// Inserta un nuevo TipoOficina a la BD
  177. /// </summary>
  178. /// <param name="entity">Nuevo TipoOficina a Insertar</param>
  179. /// <returns>Confirmacion de la transaccion</returns>
  180. public bool Insert(TipoOficina entity)
  181. {
  182. var oReturn = false;
  183. oDataContext.Connection.Open();
  184. var oDBTransaction = oDataContext.Connection.BeginTransaction();
  185. try
  186. {
  187. oDataContext.AddToTipoOficinas(entity);
  188. oDataContext.SaveChanges(SaveOptions.DetectChangesBeforeSave);
  189. oDBTransaction.Commit();
  190. oReturn = true;
  191. }
  192. catch (Exception ex)
  193. {
  194. oDBTransaction.Rollback();
  195. throw new Exception(string.Format("Error al insertar TipoOficina por oarametros, Error: {0}", ex.Message));
  196. }
  197. oDataContext.Connection.Close();
  198. return oReturn;
  199. }
  200. /// <summary>
  201. /// Actualiza los valores de un TipoOficina
  202. /// </summary>
  203. /// <param name="entity">TipoOficina a actualizar</param>
  204. /// <returns>Confirmacion de la transaccion</returns>
  205. public bool Update(TipoOficina entity)
  206. {
  207. var oReturn = false;
  208. oDataContext.Connection.Open();
  209. var oDBTransaction = oDataContext.Connection.BeginTransaction();
  210. try
  211. {
  212. oDataContext.SaveChanges(SaveOptions.DetectChangesBeforeSave);
  213. oDBTransaction.Commit();
  214. oReturn = true;
  215. }
  216. catch (Exception ex)
  217. {
  218. oDBTransaction.Rollback();
  219. throw new Exception(string.Format("Error al actualizar TipoOficina por oarametros, Error: {0}", ex.Message));
  220. }
  221. oDataContext.Connection.Close();
  222. return oReturn;
  223. }
  224. /// <summary>
  225. /// Elimina un Usuairo de la BD
  226. /// </summary>
  227. /// <param name="entity">TipoOficina a eliminar</param>
  228. /// <returns>Confirmacion de la transaccion</returns>
  229. public bool Delete(TipoOficina entity)
  230. {
  231. var oReturn = false;
  232. oDataContext.Connection.Open();
  233. var oDBTransaction = oDataContext.Connection.BeginTransaction();
  234. try
  235. {
  236. oDataContext.DeleteObject(entity);
  237. oDataContext.SaveChanges(SaveOptions.DetectChangesBeforeSave);
  238. oDBTransaction.Commit();
  239. oReturn = true;
  240. }
  241. catch (Exception ex)
  242. {
  243. oDBTransaction.Rollback();
  244. throw new Exception(string.Format("Error al eliminar TipoOficina por oarametros, Error: {0}", ex.Message));
  245. }
  246. oDataContext.Connection.Close();
  247. return oReturn;
  248. }
  249. /// <summary>
  250. /// Retorna una nueva Entidad TipoOficina
  251. /// </summary>
  252. /// <returns></returns>
  253. public TipoOficina GetEntity()
  254. {
  255. return oDataContext.TipoOficinas.CreateObject();
  256. }
  257. }
  258. }