/// <summary> /// Persiste los cambios de una entidad. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="entidad">Mensaje a persistir.</param> /// <returns>Mensaje persistido.</returns> public Notificacion <MensajeTO> Modificar(MensajeTO entidad) { Notificacion <MensajeTO> retorno = new Notificacion <MensajeTO>(); retorno.Respuesta = entidad; try { Notificacion <bool> respuestaExiste = Existe(entidad); if (respuestaExiste.HayError || respuestaExiste.HayExcepcion) { retorno.Unir(respuestaExiste); return(retorno); } if (respuestaExiste.Respuesta) { DAO.Modificar(entidad); retorno.AgregarMensaje("Mensaje", "Modificar_OK"); } else { retorno.AgregarMensaje("Mensaje", "Error_No_Existe"); } } catch (Exception ex) { retorno.AgregarMensaje("Mensaje", "Modificar_Error", null, null, null, null, ex); } return(retorno); }
/// <summary> /// Agrega los valores de una entidad como parámetros de una consulta. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="entidad">Mensaje con valores de entrada.</param> /// <param name="consulta">Consulta a ejecutar.</param> private void AgregarParametros(MensajeTO entidad, Query consulta) { consulta.Parametros.Add("Tabla", entidad.Tabla); consulta.Parametros.Add("Codigo", entidad.Codigo); consulta.Parametros.Add("Idioma", entidad.Idioma); consulta.Parametros.Add("Pais", entidad.Pais); consulta.Parametros.Add("Tipo", entidad.Tipo.ToString()); consulta.Parametros.Add("Glosa", entidad.Glosa); consulta.Parametros.Add("GlosaResumida", entidad.GlosaResumida); consulta.Parametros.Add("LinkAudio", entidad.LinkAudio); consulta.Parametros.Add("LinkVideo", entidad.LinkVideo); }
/// <summary> /// Obtiene las entidades según los valores de un filtro. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="filtro">Mensaje de filtro</param> /// <returns>Colección de mensajes que cumplen el filtro.</returns> public Notificacion <IList <MensajeTO> > ObtenerSegunFiltro(MensajeTO filtro) { Notificacion <IList <MensajeTO> > retorno = new Notificacion <IList <MensajeTO> >(); try { retorno.Respuesta = DAO.ObtenerSegunFiltro(filtro); } catch (Exception ex) { retorno.AgregarMensaje("Mensaje", "ObtenerSegunFiltro_Error", null, null, null, null, ex); } return(retorno); }
/// <summary> /// Obtiene la entidad según si identificador(es). /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="entidad">Mensaje a buscar.</param> /// <returns>Mensaje persistido.</returns> public Notificacion <MensajeTO> ObtenerSegunID(MensajeTO entidad) { Notificacion <MensajeTO> retorno = new Notificacion <MensajeTO>(); try { retorno.Respuesta = DAO.ObtenerSegunID(entidad); } catch (Exception ex) { retorno.AgregarMensaje("Mensaje", "ObtenerSegunID_Error", null, null, null, null, ex); } return(retorno); }
/// <summary> /// Determina la existencia de una entidad en base de datos. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="entidad">Mensaje a comprobar.</param> /// <returns><code>true</code> de existir, o <code>false</code> de lo contrario.</returns> public Notificacion <bool> Existe(MensajeTO entidad) { Notificacion <bool> retorno = new Notificacion <bool>(); try { retorno.Respuesta = DAO.Existe(entidad); } catch (Exception ex) { retorno.AgregarMensaje("Mensaje", "Existe_Error", null, null, null, null, ex); } return(retorno); }
/// <summary> /// Elimina una entidad de base de datos. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="entidad">Mensaje a eliminar.</param> public void Eliminar(MensajeTO entidad) { try { Conexion.Abrir(); DynamicQuery consulta = Conexion.CrearQueryDinamica(); AgregarParametros(entidad, consulta); consulta.Ejecutar(); } finally { Conexion.Cerrar(); } }
/// <summary> /// Mapea según un registro de base de datos, los valores en la entidad correspondiente. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="registro">Representa un registro de base de datos.</param> /// <returns>Mensaje cargado.</returns> private MensajeTO Mapear(IDictionary <string, object> registro) { MensajeTO retorno = new MensajeTO(); retorno.Tabla = registro["Tabla"].ToString(); retorno.Codigo = registro["Codigo"].ToString(); retorno.Idioma = registro["Idioma"].ToString(); retorno.Pais = registro["Pais"].ToString(); retorno.Tipo = (Severidad)Severidad.ObtenerEnumeracion(registro["Tipo"].ToString()); retorno.Glosa = registro["Glosa"].ToString(); retorno.GlosaResumida = registro["GlosaResumida"].ToString(); retorno.LinkAudio = registro["LinkAudio"].ToString(); retorno.LinkVideo = registro["LinkVideo"].ToString(); return(retorno); }
/// <summary> /// Determina la existencia de una entidad en base de datos. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="entidad">Mensaje a comprobar.</param> /// <returns><code>true</code> de existir, o <code>false</code> de lo contrario.</returns> public bool Existe(MensajeTO entidad) { try { Conexion.Abrir(); DynamicQuery consulta = Conexion.CrearQueryDinamica(); AgregarParametros(entidad, consulta); int respuesta = Convert.ToInt32(consulta.Obtener()["Respuesta"].ToString()); return(respuesta == 1); } finally { Conexion.Cerrar(); } }
/// <summary> /// Persiste una nueva entidad. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <param name="entidad">Mensaje a persistir.</param> /// <returns>Mensaje persistido.</returns> public MensajeTO Agregar(MensajeTO entidad) { try { Conexion.Abrir(); DynamicQuery consulta = Conexion.CrearQueryDinamica(); AgregarParametros(entidad, consulta); IDictionary <string, object> registro = consulta.Obtener(); entidad = Mapear(registro); return(entidad); } finally { Conexion.Cerrar(); } }
/// <summary> /// Obtiene todas las entidades persistidas. /// </summary> /// <remarks> /// Registro de versiones: /// /// 1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial. /// </remarks> /// <returns>Colección de mensajes.</returns> public IList <MensajeTO> ObtenerTodos() { IList <MensajeTO> retorno = new List <MensajeTO>(); try { Conexion.Abrir(); DynamicQuery consulta = Conexion.CrearQueryDinamica(); foreach (IDictionary <string, object> registro in consulta.Consultar()) { MensajeTO entidad = Mapear(registro); retorno.Add(entidad); } } finally { Conexion.Cerrar(); } return(retorno); }