/// <summary> /// Obtener todos los valores que pertenecen a una inconsistencia en un deposito. /// </summary> /// <param name="i">Inconsistencia en un deposito para la cual se obtiene la lista de valores</param> public void obtenerValoresInconsistencia(ref InconsistenciaDeposito i) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectInconsistenciaDepositoValores"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@inconsistencia", i.Id, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id = (int)datareader["pk_ID"]; string identificador = (string)datareader["Identificador"]; TipoValor tipo = (TipoValor)datareader["Tipo"]; string comentario = (string)datareader["Comentario"]; Valor valor = new Valor(id, tipo, identificador, comentario); i.agregarValor(valor); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Clic en el botón de guardar. /// </summary> private void btnGuardar_Click(object sender, EventArgs e) { if (dgvManifiestos.SelectedRows.Count == 0 || dgvTulas.SelectedRows.Count == 0 || dgvDepositos.SelectedRows.Count == 0 || cboCajero.SelectedItem == null || cboDigitador.SelectedItem == null || cboPuntoVenta.SelectedItem == null || cboCamara.SelectedItem == null) { Excepcion.mostrarMensaje("ErrorInconsistenciaDatosRegistro"); return; } try { frmAdministracionInconsistenciasCEF padre = (frmAdministracionInconsistenciasCEF)this.Owner; PuntoVenta punto_venta = (PuntoVenta)cboPuntoVenta.SelectedItem; SegregadoCEF segregado = null; ManifiestoCEF manifiesto_cef = null; DateTime fecha = dtpFecha.Value; Camara camara = (Camara)cboCamara.SelectedItem; Deposito deposito = (Deposito)dgvDepositos.SelectedRows[0].DataBoundItem; Tula tula = (Tula)dgvTulas.SelectedRows[0].DataBoundItem; decimal diferencia_colones = nudDiferenciaColones.Value; decimal diferencia_dolares = nudDiferenciaDolares.Value; decimal diferencia_euros = nudDiferenciaEuros.Value; short bolso = (short)nudBolso.Value; string comentario = txtComentario.Text; Colaborador cajero = (Colaborador)cboCajero.SelectedItem; Colaborador digitador = (Colaborador)cboDigitador.SelectedItem; Colaborador coordinador = (Colaborador)cboCoordinador.SelectedItem; DateTime fecha_planilla = dtpFechaManifiesto.Value; if (_planilla is SegregadoCEF) { segregado = (SegregadoCEF)_planilla; manifiesto_cef = (ManifiestoCEF)dgvManifiestos.SelectedRows[0].DataBoundItem; segregado.Cajero = cajero; segregado.Digitador = digitador; segregado.Coordinador = coordinador; segregado.Punto_venta = punto_venta; manifiesto_cef.Fecha_procesamiento = fecha_planilla; } else { manifiesto_cef = (ManifiestoCEF)_planilla; manifiesto_cef.Cajero = cajero; manifiesto_cef.Digitador = digitador; manifiesto_cef.Coordinador = coordinador; manifiesto_cef.Punto_venta = punto_venta; manifiesto_cef.Fecha_procesamiento = fecha_planilla; } BindingList <Valor> valores = (BindingList <Valor>)dgvValores.DataSource; BindingList <Sobre> sobres = (BindingList <Sobre>)dgvSobres.DataSource; // Verificar si la inconsistencia es nueva if (_inconsistencia == null) { // Agregar la inconsistencia if (Mensaje.mostrarMensajeConfirmacion("MensajeInconsistenciaRegistro") == DialogResult.Yes) { InconsistenciaDeposito nueva = new InconsistenciaDeposito(manifiesto_cef, segregado, bolso, tula, deposito, camara, fecha, diferencia_colones, diferencia_dolares, comentario, diferencia_euros); foreach (Valor valor in valores) { nueva.agregarValor(valor); } foreach (Sobre sobre in sobres) { nueva.agregarSobre(sobre); } _coordinacion.agregarInconsistenciaDeposito(ref nueva); padre.agregarInconsistenciaClienteDeposito(nueva); Mensaje.mostrarMensaje("MensajeInconsistenciaConfirmacionRegistro"); this.Close(); } } else { InconsistenciaDeposito copia = new InconsistenciaDeposito(_inconsistencia.Id, manifiesto_cef, segregado, bolso, tula, deposito, camara, fecha, diferencia_colones, diferencia_dolares, comentario, diferencia_euros); foreach (Valor sobre in valores) { copia.agregarValor(sobre); } foreach (Sobre sobre in sobres) { copia.agregarSobre(sobre); } _coordinacion.actualizarInconsistenciaDeposito(copia); //Actualizar la inconsistencia _inconsistencia.Manifiesto = manifiesto_cef; _inconsistencia.Segregado = segregado; _inconsistencia.Camara = camara; _inconsistencia.Fecha = fecha; _inconsistencia.Comentario = comentario; _inconsistencia.Deposito = deposito; _inconsistencia.Tula = tula; _inconsistencia.Diferencia_colones = diferencia_colones; _inconsistencia.Diferencia_dolares = diferencia_dolares; _inconsistencia.Valores = copia.Valores; _inconsistencia.Sobres = copia.Sobres; padre.actualizarListaClientesDepositos(); Mensaje.mostrarMensaje("MensajeInconsistenciaConfirmacionActualizacion"); this.Close(); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }