/// <summary> /// Actualizar los datos de un manifiesto segregado del CEF. /// </summary> /// <param name="s">Objeto SegregadoCEF con los datos del manifiesto segregado a actualizar</param> /// <param name="c">Coordinador que realiza la actualización</param> public void actualizarSegregado(SegregadoCEF s, Colaborador c) { SqlCommand comando = _manejador.obtenerProcedimiento("UpdateSegregado"); _manejador.agregarParametro(comando, "@cajero", s.Cajero, SqlDbType.Int); _manejador.agregarParametro(comando, "@digitador", s.Digitador, SqlDbType.Int); _manejador.agregarParametro(comando, "@coordinador", s.Coordinador, SqlDbType.Int); _manejador.agregarParametro(comando, "@coordinador_encargado", c, SqlDbType.Int); _manejador.agregarParametro(comando, "@monto_colones", s.Monto_colones, SqlDbType.Money); _manejador.agregarParametro(comando, "@monto_dolares", s.Monto_dolares, SqlDbType.Money); _manejador.agregarParametro(comando, "@monto_euros", s.Monto_Euros, SqlDbType.Money); _manejador.agregarParametro(comando, "@depositos", s.Depositos, SqlDbType.TinyInt); _manejador.agregarParametro(comando, "@punto_venta", s.Punto_venta.Id, SqlDbType.SmallInt); _manejador.agregarParametro(comando, "@fecha", s.Fecha_procesamiento, SqlDbType.Date); _manejador.agregarParametro(comando, "@segregado", s.Id, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorSegregadoActualizacion"); } }
/// <summary> /// Obtener el coordinador, cajero, el digitador, la sucursal y la fecha de procesamiento de un manifiesto segregado del CEF. /// </summary> /// <param name="s">Objeto SegregadoCEF con los datos del manifiesto segregado para el cual se obtienen los datos</param> public void obtenerDatosSegregado(ref SegregadoCEF s) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectSegregadoDatos"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@segregado", s.Id, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); if (datareader.Read()) { DateTime fecha_procesamiento = (DateTime)datareader["Fecha_Procesamiento"]; int id_cajero = (int)datareader["ID_Cajero"]; string nombre_cajero = (string)datareader["Nombre_Cajero"]; string primer_apellido_cajero = (string)datareader["Primer_Apellido_Cajero"]; string segundo_apellido_cajero = (string)datareader["Segundo_Apellido_Cajero"]; int id_digitador = (int)datareader["ID_Digitador"]; string nombre_digitador = (string)datareader["Nombre_Digitador"]; string primer_apellido_digitador = (string)datareader["Primer_Apellido_Digitador"]; string segundo_apellido_digitador = (string)datareader["Segundo_Apellido_Digitador"]; int id_coordinador = (int)datareader["ID_Coordinador"]; string nombre_coordinador = (string)datareader["Nombre_Coordinador"]; string primer_apellido_coordinador = (string)datareader["Primer_Apellido_Coordinador"]; string segundo_apellido_coordinador = (string)datareader["Segundo_Apellido_Coordinador"]; short id_punto_venta = (short)datareader["ID_Punto_Venta"]; string nombre_punto_venta = (string)datareader["Nombre_Punto_Venta"]; short id_cliente = (short)datareader["ID_Cliente"]; string nombre_cliente = (string)datareader["Nombre_Cliente"]; Cliente cliente = new Cliente(id_cliente, nombre_cliente); PuntoVenta punto_venta = new PuntoVenta(id_punto_venta, nombre_punto_venta, cliente); Colaborador cajero = new Colaborador(id_cajero, nombre_cajero, primer_apellido_cajero, segundo_apellido_cajero); Colaborador digitador = new Colaborador(id_digitador, nombre_digitador, primer_apellido_digitador, segundo_apellido_digitador); Colaborador coordinador = new Colaborador(id_coordinador, nombre_coordinador, primer_apellido_coordinador, segundo_apellido_coordinador); s.Punto_venta = punto_venta; s.Cajero = cajero; s.Digitador = digitador; s.Coordinador = coordinador; s.Fecha_procesamiento = fecha_procesamiento; } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Obtener el manifiesto segregado ligado a una inconsistencia. /// </summary> /// <param name="i">Inconsistencia para la cual se obtienen los manifiesto segregados</param> public void obtenerSegregadoInconsistencia(ref InconsistenciaDeposito i) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectInconsistenciaDepositoSegregado"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@inconsistencia", i.Id, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); if (datareader.Read()) { short bolso = (short)datareader["Bolso"]; int id_manifiesto = (int)datareader["ID_Manifiesto"]; short id_cliente = (short)datareader["ID_Cliente"]; string nombre_cliente = (string)datareader["Nombre_Cliente"]; short id_punto_venta = (short)datareader["ID_Punto_Venta"]; string nombre_punto_venta = (string)datareader["Nombre_Punto_Venta"]; int id_digitador = (int)datareader["ID_Digitador"]; string nombre_digitador = (string)datareader["Nombre_Digitador"]; string primer_apellido_digitador = (string)datareader["Primer_Apellido_Digitador"]; string segundo_apellido_digitador = (string)datareader["Segundo_Apellido_Digitador"]; int id_cajero = (int)datareader["ID_Cajero"]; string nombre_cajero = (string)datareader["Nombre_Cajero"]; string primer_apellido_cajero = (string)datareader["Primer_Apellido_Cajero"]; string segundo_apellido_cajero = (string)datareader["Segundo_Apellido_Cajero"]; int id_coordinador = (int)datareader["ID_Coordinador"]; string nombre_coordinador = (string)datareader["Nombre_Coordinador"]; string primer_apellido_coordinador = (string)datareader["Primer_Apellido_Coordinador"]; string segundo_apellido_coordinador = (string)datareader["Segundo_Apellido_Coordinador"]; Colaborador coordinador = new Colaborador(id_coordinador, nombre_coordinador, primer_apellido_coordinador, segundo_apellido_coordinador); Colaborador digitador = new Colaborador(id_digitador, nombre_digitador, primer_apellido_digitador, segundo_apellido_digitador); Colaborador cajero = new Colaborador(id_cajero, nombre_cajero, primer_apellido_cajero, segundo_apellido_cajero); Cliente cliente = new Cliente(id_cliente, nombre_cliente); PuntoVenta punto_venta = new PuntoVenta(id_punto_venta, nombre_punto_venta, cliente); SegregadoCEF segregado = new SegregadoCEF(id_manifiesto, cajero, digitador, coordinador, punto_venta); i.Segregado = segregado; i.Bolso = bolso; } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Selección de otro segregado. /// </summary> private void dgvSegregados_SelectionChanged(object sender, EventArgs e) { if (dgvSegregados.SelectedRows.Count > 0) { SegregadoCEF segregado = (SegregadoCEF)dgvSegregados.SelectedRows[0].DataBoundItem; this.mostrarDatos(segregado); } else { this.deshabilitarOpciones(); } }
/// <summary> /// Registrar un nuevo manifiesto segregado del CEF. /// </summary> /// <param name="s">Objeto SegregadoCEF con los datos del nuevo manifiesto segregado</param> public void agregarSegregado(ref SegregadoCEF s) { SqlCommand comando = _manejador.obtenerProcedimiento("InsertSegregado"); _manejador.agregarParametro(comando, "@manifiesto", s.Manifiesto, SqlDbType.VarChar); try { s.Id = (int)_manejador.ejecutarEscalar(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorSegregadosRegistro"); } }
/// <summary> /// Reiniciar los datos de un manifiesto segregado del CEF. /// </summary> /// <param name="s">Objeto SegregadoCEF con los datos del manifiesto segregado a reiniciar</param> public void reiniciarSegregado(SegregadoCEF s) { SqlCommand comando = _manejador.obtenerProcedimiento("UpdateSegregadoReiniciar"); _manejador.agregarParametro(comando, "@segregado", s.Id, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorSegregadoActualizacion"); } }
/// <summary> /// Carga del formulario. /// </summary> private void frmMantenimientoInconsistenciasClientesDepositos_Load(object sender, EventArgs e) { foreach (TabPage page in tcDatos.TabPages) { page.Show(); } if (_inconsistencia != null) { if (_inconsistencia.Segregado != null) { ManifiestoCEF manifiesto = _inconsistencia.Manifiesto; BindingList <SegregadoCEF> segregados = manifiesto.Segregados; SegregadoCEF segregado = _inconsistencia.Segregado; dgvSegregados.Rows[segregados.IndexOf(segregado)].Selected = true; } } }
/// <summary> /// Actualizar los datos de un manifiesto segregado del CEF. /// </summary> /// <param name="s">Objeto SegregadoCEF con los datos del manifiesto segregado a actualizar</param> public void actualizarSegregadoDatos(SegregadoCEF s) { SqlCommand comando = _manejador.obtenerProcedimiento("UpdateSegregadoDatos"); _manejador.agregarParametro(comando, "@cajero", s.Cajero, SqlDbType.Int); _manejador.agregarParametro(comando, "@digitador", s.Digitador, SqlDbType.Int); _manejador.agregarParametro(comando, "@coordinador", s.Coordinador, SqlDbType.Int); _manejador.agregarParametro(comando, "@punto_venta", s.Punto_venta.Id, SqlDbType.SmallInt); _manejador.agregarParametro(comando, "@fecha", s.Fecha_procesamiento, SqlDbType.Date); _manejador.agregarParametro(comando, "@segregado", s.Id, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorSegregadoActualizacion"); } }
/// <summary> /// Obtener una lista de los manifiestos segregados que son parte de un manifiesto del CEF. /// </summary> /// <param name="m">Manifiesto del CEF para el cual se obtienen los manifiestos segregados</param> public void obtenerSegregados(ref ManifiestoCEF m) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectSegregadosManifiesto"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@manifiesto", m, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id = (int)datareader["pk_ID"]; decimal monto_colones = (decimal)datareader["Monto_Colones"]; decimal monto_dolones = (decimal)datareader["Monto_Dolares"]; decimal monto_euros = 0; if (datareader["Monto_Euros"] != DBNull.Value) monto_euros = (decimal)datareader["Monto_Euros"]; short depositos = (short)datareader["Depositos"]; SegregadoCEF segregado = new SegregadoCEF(id, m, monto_colones, monto_dolones, monto_euros, depositos); m.agregarSegregado(segregado); } 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(); } }
/// <summary> /// Clic en el botón de guardar. /// </summary> private void btnGuardar_Click(object sender, EventArgs e) { if (cboCliente.SelectedItem == null || cboPuntoVenta.SelectedItem == null || cboDigitador.SelectedItem == null || cboCajero.SelectedItem == null || cboCoordinador.SelectedItem == null) { Excepcion.mostrarMensaje("ErrorManifiestoDatosActualizacionCEF"); return; } try { Colaborador coordinador = (Colaborador)cboCoordinador.SelectedItem; Colaborador cajero = (Colaborador)cboCajero.SelectedItem; Colaborador digitador = (Colaborador)cboDigitador.SelectedItem; PuntoVenta punto_venta = (PuntoVenta)cboPuntoVenta.SelectedItem; //Colaborador cajeroreceptor = _cajero_receptor; decimal monto_colones = nudMontoColones.Value; decimal monto_dolares = nudMontoDolares.Value; decimal monto_euros = nudMontoEuros.Value; short depositos = (short)nudDepositos.Value; DateTime fecha_procesamiento = dtpFecha.Value; PlanillaCEF copia = null; if (_planilla is ManifiestoCEF) { ManifiestoCEF manifiesto = (ManifiestoCEF)_planilla; copia = new ManifiestoCEF(manifiesto.DB_ID, cajero: cajero, digitador: digitador, coordinador: coordinador, punto_venta: punto_venta, monto_colones: monto_colones, monto_dolares: monto_dolares, depositos: depositos, fecha_procesamiento: fecha_procesamiento, monto_euros: monto_euros); } else { SegregadoCEF segregado = (SegregadoCEF)_planilla; copia = new SegregadoCEF(segregado.Id, cajero, digitador, coordinador, punto_venta, monto_colones, monto_dolares, monto_euros, depositos, fecha_procesamiento); } _atencion.actualizarPlanillaCEF(copia, _coordinador); _planilla.Cajero = cajero; _planilla.Digitador = digitador; _planilla.Coordinador = coordinador; _planilla.Punto_venta = punto_venta; _planilla.Fecha_procesamiento = fecha_procesamiento; _planilla.Monto_colones = monto_colones; _planilla.Monto_dolares = monto_dolares; _planilla.Monto_Euros = monto_euros; _planilla.Depositos = depositos; txtCajero.Text = _planilla.Cajero.ToString(); txtDigitador.Text = _planilla.Digitador.ToString(); txtCoordinador.Text = _planilla.Coordinador.ToString(); txtCliente.Text = _planilla.Punto_venta.Cliente.Nombre; txtPuntoVenta.Text = _planilla.Punto_venta.Nombre; txtFechaProcesamiento.Text = ((DateTime)_planilla.Fecha_procesamiento).ToShortDateString(); txtCodigoBuscado.Focus(); Mensaje.mostrarMensaje("MensajeManifiestoConfirmacionActualizacion"); // Actualizar el manifiesto en la lista de manifiestos dgvManifiestos.SelectedRows[0].Tag = _planilla; } catch (Excepcion ex) { ex.mostrarMensaje(); } }