/// <summary> /// Registrar una inconsistencia en un manifiesto del CEF. /// </summary> /// <param name="i">Objeto InconsistenciaManifiestoCEF con los datos de la inconsistencia</param> public void agregarInconsistencia(ref InconsistenciaManifiestoCEF i) { SqlCommand comando = _manejador.obtenerProcedimiento("InsertInconsistenciaManifiestoCEF"); _manejador.agregarParametro(comando, "@camara", i.Camara, SqlDbType.TinyInt); _manejador.agregarParametro(comando, "@manifiesto", i.Manifiesto, SqlDbType.Int); _manejador.agregarParametro(comando, "@monto_colones_reportado", i.Monto_colones_reportado, SqlDbType.Money); _manejador.agregarParametro(comando, "@monto_dolares_reportado", i.Monto_dolares_reportado, SqlDbType.Money); _manejador.agregarParametro(comando, "@monto_euros_reportado", i.Monto_euros_reportado, SqlDbType.Money); _manejador.agregarParametro(comando, "@monto_total_reportado", i.Monto_total_reportado, SqlDbType.Money); _manejador.agregarParametro(comando, "@monto_total_real", i.Monto_total_real, SqlDbType.Money); _manejador.agregarParametro(comando, "@fecha", i.Fecha, SqlDbType.DateTime); _manejador.agregarParametro(comando, "@comentario", i.Comentario, SqlDbType.VarChar); try { i.Id = (int)_manejador.ejecutarEscalar(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorInconsistenciaManifiestoCEFRegistro"); } }
/// <summary> /// Verificar si existe una inconsistencia para un manifiesto del CEF. /// </summary> /// <param name="i">Objeto InconsistenciaManifiestoCEF con los datos de la inconsistencia</param> /// <returns>Valor que indica si la inconsistencia existe</returns> public bool verificarInconsistencia(InconsistenciaManifiestoCEF i) { bool existe = false; SqlCommand comando = _manejador.obtenerProcedimiento("SelectExisteInconsistenociaManifiestoCEF"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@manifiesto", i.Manifiesto, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); if (datareader.Read()) { int id_encontrado = (int)datareader["pk_ID"]; existe = id_encontrado != i.Id; } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorVerificarInconsistenciaManifiestoCEFDuplicado"); } return(existe); }
/// <summary> /// Formato de la lista de inconsistencias en los manifiestos del CEF. /// </summary> private void dgvInconsistenciasManifiestosCEF_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == ManifiestoManifiesto.Index) { InconsistenciaManifiestoCEF inconsistencia = (InconsistenciaManifiestoCEF)dgvInconsistenciasManifiestosCEF.Rows[e.RowIndex].DataBoundItem; ManifiestoCEF manifiesto = inconsistencia.Manifiesto; if (manifiesto.Fecha_procesamiento != null) { dgvInconsistenciasManifiestosCEF[CajeroManifiesto.Index, e.RowIndex].Value = manifiesto.Cajero; dgvInconsistenciasManifiestosCEF[CoordinadorManifiesto.Index, e.RowIndex].Value = manifiesto.Coordinador; } dgvInconsistenciasManifiestosCEF[MontoColonesManifiesto.Index, e.RowIndex].Value = manifiesto.Monto_colones; dgvInconsistenciasManifiestosCEF[MontoDolaresManifiesto.Index, e.RowIndex].Value = manifiesto.Monto_dolares; dgvInconsistenciasManifiestosCEF[Depositos.Index, e.RowIndex].Value = manifiesto.Depositos; } else if (e.ColumnIndex == MontoTotal.Index) { InconsistenciaManifiestoCEF inconsistencia = (InconsistenciaManifiestoCEF)dgvInconsistenciasManifiestosCEF.Rows[e.RowIndex].DataBoundItem; dgvInconsistenciasManifiestosCEF[DiferenciaInconsistenciaManifiesto.Index, e.RowIndex].Value = Math.Abs(inconsistencia.Monto_total_real - inconsistencia.Monto_total_reportado); dgvInconsistenciasManifiestosCEF[TipoInconsistenciaManifiesto.Index, e.RowIndex].Value = inconsistencia.Monto_total_real > inconsistencia.Monto_total_reportado ? "Sobrante" : "Faltante"; } }
/// <summary> /// Listar las inconsistencias de manifiestos del CEF. /// </summary> /// <param name="i">Fecha inicial del periodo de tiempo</param> /// <param name="f">Fecha final del periodo de tiempo</param> /// <returns>Lista de las inconsistencias registradas en el periodo de tiempo indicado</returns> public BindingList <InconsistenciaManifiestoCEF> listarInconsistencias(DateTime i, DateTime f) { BindingList <InconsistenciaManifiestoCEF> inconsistencias = new BindingList <InconsistenciaManifiestoCEF>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectInconsistenciasManifiestosCEF"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@fecha_inicio", i, SqlDbType.DateTime); _manejador.agregarParametro(comando, "@fecha_fin", f, SqlDbType.DateTime); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_inconsistenca = (int)datareader["ID_Incosistencia"]; DateTime fecha = (DateTime)datareader["Fecha"]; decimal monto_colones_reportado = (decimal)datareader["Monto_Colones_Reportado"]; decimal monto_dolares_reportado = (decimal)datareader["Monto_Dolares_Reportado"]; decimal monto_euros_reportado = 0; if (datareader["Monto_Euros_Reportado"] != DBNull.Value) { monto_euros_reportado = (decimal)datareader["Monto_Euros_Reportado"]; } decimal monto_total_reportado = (decimal)datareader["Monto_Total_Reportado"]; decimal monto_total_real = (decimal)datareader["Monto_Total_Real"]; string comentario = (string)datareader["Comentario"]; int id_manifiesto = (int)datareader["ID_Manifiesto"]; string codigo = (string)datareader["Codigo"]; decimal monto_colones = (decimal)datareader["Monto_Colones"]; decimal monto_dolares = (decimal)datareader["Monto_Dolares"]; short depositos = (short)datareader["Depositos"]; byte id_camara = (byte)datareader["ID_Camara"]; string identificador = (string)datareader["Identificador"]; ManifiestoCEF manifiesto = new ManifiestoCEF(id_manifiesto, codigo: codigo, monto_colones: monto_colones, monto_dolares: monto_dolares, depositos: depositos); Camara camara = new Camara(identificador, id: id_camara); InconsistenciaManifiestoCEF inconsistencia = new InconsistenciaManifiestoCEF(id_inconsistenca, manifiesto, camara, fecha, monto_colones_reportado, monto_dolares_reportado, monto_total_reportado, monto_total_real, comentario, monto_euros_reportado); inconsistencias.Add(inconsistencia); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(inconsistencias); }
/// <summary> /// Agregar una inconsistencia a la lista de inconsistencias en manifiestos del CEF. /// </summary> public void agregarInconsistenciaManifiestoCEF(InconsistenciaManifiestoCEF inconsistencia) { BindingList <InconsistenciaManifiestoCEF> inconsistencias = (BindingList <InconsistenciaManifiestoCEF>)dgvInconsistenciasManifiestosCEF.DataSource; inconsistencias.Add(inconsistencia); dgvInconsistenciasManifiestosCEF.AutoResizeColumns(); }
/// <summary> /// Mostrar la ventana de modificación de inconsistencias en manifiestos por causa de los clientes. /// </summary> public void mostarVentanaModificacionClientesManifiestos() { try { InconsistenciaManifiestoCEF inconsistencia = (InconsistenciaManifiestoCEF)dgvInconsistenciasManifiestosCEF.SelectedRows[0].DataBoundItem; frmMantenimientoInconsistenciasManifiestosCEF formulario = new frmMantenimientoInconsistenciasManifiestosCEF(inconsistencia, _coordinador); formulario.ShowDialog(this); } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Eliminar los datos de una inconsistencia en un manifiesto del CEF. /// </summary> /// <param name="i">Objeto InconsistenciaManifiestoCEF con los datos de la inconsistencia</param> public void eliminarInconsistencia(InconsistenciaManifiestoCEF i) { SqlCommand comando = _manejador.obtenerProcedimiento("DeleteInconsistenciaManifiestoCEF"); _manejador.agregarParametro(comando, "@inconsistencia", i.Id, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorInconsistenciaManifiestoCEFEliminacion"); } }
public frmMantenimientoInconsistenciasManifiestosCEF(InconsistenciaManifiestoCEF inconsistencia, Colaborador coordinador) { InitializeComponent(); _inconsistencia = inconsistencia; _coordinador = coordinador; try { this.cargarDatos(); // Mostrar los datos de la inconsistencia cboCamara.Text = _inconsistencia.Camara.Identificador; txtComentario.Text = _inconsistencia.Comentario; this.mostrarDatos(_inconsistencia.Manifiesto); nudMontoColonesReportado.Value = _inconsistencia.Monto_colones_reportado; nudMontoDolaresReportado.Value = _inconsistencia.Monto_dolares_reportado; nudMontoEurosReportado.Value = _inconsistencia.Monto_euros_reportado; nudMontoTotalReportado.Value = _inconsistencia.Monto_total_reportado; nudMontoTotalReal.Value = _inconsistencia.Monto_total_real; BindingList <Manifiesto> manifiestos = (BindingList <Manifiesto>)dgvManifiestos.DataSource; manifiestos.Add(_inconsistencia.Manifiesto); // Validar si se pueden modificar los datos de la inconsistencia bool estado = _supervisor || (_coordinador_valido && _dia_valido); gbManifiestos.Enabled = estado; gbDatosReportados.Enabled = estado; gbDetalle.Enabled = estado; btnGuardar.Enabled = estado; } catch (Exception ex) { throw ex; } }
/// <summary> /// Clic en el botón de eliminar una inconsistencia en un manifiesto. /// </summary> private void btnEliminarInconsistenciaManifiesto_Click(object sender, EventArgs e) { try { if (Mensaje.mostrarMensajeConfirmacion("MensajeInconsistenciaEliminacion") == DialogResult.Yes) { InconsistenciaManifiestoCEF inconsistencia = (InconsistenciaManifiestoCEF)dgvInconsistenciasManifiestosCEF.SelectedRows[0].DataBoundItem; _coordinacion.eliminarInconsistenciaManifiestoCEF(inconsistencia); dgvInconsistenciasManifiestosCEF.Rows.Remove(dgvInconsistenciasManifiestosCEF.SelectedRows[0]); Mensaje.mostrarMensaje("MensajeInconsistenciaConfirmacionEliminacion"); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Se selecciona otra inconsistencia en un manifiesto del CEF. /// </summary> private void dgvInconsistenciasManifiestosCEF_SelectionChanged(object sender, EventArgs e) { if (dgvInconsistenciasManifiestosCEF.SelectedRows.Count == 0) { btnEliminarInconsistenciaManifiesto.Enabled = false; btnModificarInconsistenciaManifiesto.Enabled = false; } else { InconsistenciaManifiestoCEF inconsistencia = (InconsistenciaManifiestoCEF)dgvInconsistenciasManifiestosCEF.SelectedRows[0].DataBoundItem; ManifiestoCEF manifiesto = inconsistencia.Manifiesto; bool estado = true; if (manifiesto.Coordinador != null) { estado = manifiesto.Coordinador.Equals(_coordinador); } btnEliminarInconsistenciaManifiesto.Enabled = true; btnModificarInconsistenciaManifiesto.Enabled = true; } }
/// <summary> /// Clic en el botón de guardar. /// </summary> private void btnGuardar_Click(object sender, EventArgs e) { if (dgvManifiestos.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; Camara camara = (Camara)cboCamara.SelectedItem; DateTime fecha = dtpFecha.Value; string comentario = txtComentario.Text; decimal monto_colones_reportado = nudMontoColonesReportado.Value; decimal monto_dolares_reportado = nudMontoDolaresReportado.Value; decimal monto_total_reportado = nudMontoTotalReportado.Value; decimal monto_euros_reportado = nudMontoEurosReportado.Value; PuntoVenta punto_venta = (PuntoVenta)cboPuntoVenta.SelectedItem; Colaborador cajero = (Colaborador)cboCajero.SelectedItem; Colaborador digitador = (Colaborador)cboDigitador.SelectedItem; DateTime fecha_manifiesto = dtpFechaManifiesto.Value; decimal monto_colones = nudMontoColonesReal.Value; decimal monto_dolares = nudMontoDolaresReal.Value; decimal monto_total = nudMontoTotalReal.Value; decimal monto_euros = nudMontoEurosReal.Value; short depositos = (short)nudDepositosReales.Value; _manifiesto.Cajero = cajero; _manifiesto.Digitador = digitador; _manifiesto.Coordinador = _coordinador; _manifiesto.Fecha_procesamiento = fecha_manifiesto; _manifiesto.Punto_venta = punto_venta; _manifiesto.Monto_colones = monto_colones; _manifiesto.Monto_dolares = monto_dolares; _manifiesto.Depositos = depositos; _manifiesto.Monto_Euros = monto_euros; // Verificar si la inconsistencia es nueva if (_inconsistencia == null) { // Agregar la inconsistencia if (Mensaje.mostrarMensajeConfirmacion("MensajeInconsistenciaRegistro") == DialogResult.Yes) { InconsistenciaManifiestoCEF nueva = new InconsistenciaManifiestoCEF(_manifiesto, camara, fecha, monto_colones_reportado, monto_dolares_reportado, monto_total_reportado, monto_total, comentario, monto_euros_reportado); _coordinacion.agregarInconsistenciaManifiestoCEF(ref nueva); padre.agregarInconsistenciaManifiestoCEF(nueva); Mensaje.mostrarMensaje("MensajeInconsistenciaConfirmacionRegistro"); this.Close(); } } else { InconsistenciaManifiestoCEF copia = new InconsistenciaManifiestoCEF(_inconsistencia.Id, _manifiesto, camara, fecha, monto_colones_reportado, monto_dolares_reportado, monto_total_reportado, monto_total, comentario, monto_euros_reportado); _coordinacion.actualizarInconsistenciaManifiestoCEF(copia); //Actualizar la inconsistencia _inconsistencia.Manifiesto = _manifiesto; _inconsistencia.Camara = camara; _inconsistencia.Fecha = fecha; _inconsistencia.Monto_colones_reportado = monto_colones_reportado; _inconsistencia.Monto_dolares_reportado = monto_dolares_reportado; _inconsistencia.Monto_total_reportado = monto_total_reportado; _inconsistencia.Monto_total_real = monto_total; padre.actualizarListaClientesManifiestos(); Mensaje.mostrarMensaje("MensajeInconsistenciaConfirmacionActualizacion"); this.Close(); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }