protected void grdDatosAdicionales_RowCommand(object sender, GridViewCommandEventArgs e) { try { string eCommandNameUpper = e.CommandName.ToUpper(); int index = Convert.ToInt32(e.CommandArgument); DatoAdicionalAnexoBO datoAdicional = DatosAdicionales[index]; if (eCommandNameUpper == "PAGE" || eCommandNameUpper == "SORT") { return; } switch (eCommandNameUpper) { case "CMDELIMINAR": Presentador.EliminarDatoAdicional(datoAdicional); break; case "CMDEDITAR": Presentador.DesplegarEditarDatoAdicional(datoAdicional); break; case "CMDDETALLES": Presentador.DesplegarConsultarDatoAdicional(datoAdicional); break; default: throw new Exception("La operación solicitada no esta permitida en este modulo."); } } catch (Exception ex) { MostrarMensaje("Inconsistencias al presentar la información", ETipoMensajeIU.ERROR, NombreClase + ".grdDatosAdicionales_RowCommand: " + ex.Message); } }
/// <summary> /// Despleiga y configura el detalle de un dato Adicional en Modo Consultar /// </summary> /// <param name="datoConsultar"></param> public void DesplegarConsultarDatoAdicional(DatoAdicionalAnexoBO datoConsultar) { DatosAInterfazUsuario(datoConsultar); vista.HabilitarAgregar(false); vista.HabilitarEditar(false); vista.HabilitarCampos(false); }
/// <summary> /// Despliega el Dato Adicional en el Detalle /// </summary> /// <param name="datoAdicional"></param> internal void DatosAInterfazUsuario(DatoAdicionalAnexoBO datoAdicional) { vista.Detalle_DatoAdicionalID = datoAdicional.DatoAdicionalID; vista.Detalle_Descripcion = datoAdicional.Descripcion; vista.Detalle_EsObservacion = datoAdicional.EsObservacion; vista.Detalle_Titulo = datoAdicional.Titulo; }
/// <summary> /// Elimina un Dato Adicional de la Lista de Datos Adicionales /// </summary> /// <param name="datoEliminar">Dato Adicional a Eliminar</param> public void EliminarDatoAdicional(DatoAdicionalAnexoBO datoEliminar) { try { // Buscar el Dato Adicional en el Listado DatoAdicionalAnexoBO datoAdicionalEncontrado = vista.DatosAdicionales.Find(dato => dato.DatoAdicionalID == datoEliminar.DatoAdicionalID); if (datoAdicionalEncontrado != null) { List <DatoAdicionalAnexoBO> Lista = new List <DatoAdicionalAnexoBO>(vista.DatosAdicionales); Lista.Remove(datoAdicionalEncontrado); vista.DatosAdicionales = Lista; InicializarDetalle(); } else { vista.MostrarMensaje("El Dato Adicional no se encuentra o ha sido removido previamente.", ETipoMensajeIU.ADVERTENCIA); } } catch (Exception ex) { throw new Exception(NombreClase + ".EliminarDatoAdicional: " + ex.Message, ex); } }
/// <summary> /// Actualiza un Dato Adicional dentro del Listado de Datos Adicionales /// </summary> public void ActualizarDatoAdicional() { try { if (vista.Detalle_DatoAdicionalID == null) { throw new Exception("El Dato Adicional a Editar no cuenta con Identificador."); } string mensaje = ValidarDatos(); if (string.IsNullOrEmpty(mensaje)) { // Validar que no exista un dato adicional con los mismos datos. DatoAdicionalAnexoBO datoAdicionalRepetido = vista.DatosAdicionales.Find(dato => dato.EsObservacion == vista.Detalle_EsObservacion && String.Compare(((dato.Titulo != null) ? dato.Titulo.ToUpper() : string.Empty), ((vista.Detalle_Titulo != null) ? vista.Detalle_Titulo.ToUpper() : string.Empty), StringComparison.Ordinal) == 0 && String.Compare(dato.Descripcion.ToUpper(), vista.Detalle_Descripcion.ToUpper(), StringComparison.Ordinal) == 0 && dato.DatoAdicionalID != vista.Detalle_DatoAdicionalID); if (datoAdicionalRepetido == null) { // Obtener la Información del Dato Adicional de la Interfaz DatoAdicionalAnexoBO NuevoDatoAdicionalAnexoBO = InterfazUsuarioADatos(); DatoAdicionalAnexoBO datoActualizable = vista.DatosAdicionales.Find(dato => dato.DatoAdicionalID == NuevoDatoAdicionalAnexoBO.DatoAdicionalID); datoActualizable.DatoAdicionalID = NuevoDatoAdicionalAnexoBO.DatoAdicionalID; datoActualizable.EsObservacion = NuevoDatoAdicionalAnexoBO.EsObservacion; datoActualizable.Descripcion = NuevoDatoAdicionalAnexoBO.Descripcion; datoActualizable.Titulo = NuevoDatoAdicionalAnexoBO.Titulo; // Agregar el nuevo dato Adicional List <DatoAdicionalAnexoBO> Lista = new List <DatoAdicionalAnexoBO>(vista.DatosAdicionales); vista.DatosAdicionales = Lista; // Cerrar el Dialogo InicializarDetalle(); } else { vista.MostrarMensaje("No puede actualizar el Dato Adicional debido a que existe uno con la misma información.", ETipoMensajeIU.ADVERTENCIA); } } else { vista.MostrarMensaje(mensaje, ETipoMensajeIU.ADVERTENCIA); } } catch (Exception ex) { throw new Exception(NombreClase + ".ActualizarDatoAdicional: " + ex.Message, ex); } }
/// <summary> /// Agrega un nuevo Dato Adicional al Listado de Datos Adicionales /// </summary> public void AgregarDatoAdicional() { try { string mensaje = ValidarDatos(); if (string.IsNullOrEmpty(mensaje)) { // Validar que no exista un dato adicional con los mismos datos. DatoAdicionalAnexoBO datoAdicionalRepetido = vista.DatosAdicionales.Find(dato => dato.EsObservacion == vista.Detalle_EsObservacion && String.Compare(((dato.Titulo != null)?dato.Titulo.ToUpper():string.Empty), ((vista.Detalle_Titulo != null)?vista.Detalle_Titulo.ToUpper(): string.Empty), StringComparison.Ordinal) == 0 && String.Compare(dato.Descripcion.ToUpper(), vista.Detalle_Descripcion.ToUpper(), StringComparison.Ordinal) == 0); if (datoAdicionalRepetido == null) { // Calcular el Maximo DatoAdicionalID int UltimoDatoAdicionalID = 0; if (vista.DatosAdicionales.Count > 0) { UltimoDatoAdicionalID = vista.DatosAdicionales.Max(dato => (dato.DatoAdicionalID != null) ? dato.DatoAdicionalID.Value : 0); } vista.Detalle_DatoAdicionalID = ++UltimoDatoAdicionalID; // Obtener la Información del Dato Adicional de la Interfaz DatoAdicionalAnexoBO NuevoDatoAdicionalAnexoBO = InterfazUsuarioADatos(); // Agregar el nuevo dato Adicional List <DatoAdicionalAnexoBO> Lista = new List <DatoAdicionalAnexoBO>(vista.DatosAdicionales); Lista.Add(NuevoDatoAdicionalAnexoBO); vista.DatosAdicionales = Lista; // Cerrar el Dialogo LimpiarDetalle(); } else { vista.MostrarMensaje("No puede agregar el Dato Adicional debido a que existe uno con la misma información.", ETipoMensajeIU.ADVERTENCIA); } } else { vista.MostrarMensaje(mensaje, ETipoMensajeIU.ADVERTENCIA); } } catch (Exception ex) { throw new Exception(NombreClase + ".AgregarDatoAdicional: " + ex.Message, ex); } }