/// <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> /// Clic en el botón de eliminar segregados. /// </summary> private void btnEliminar_Click(object sender, EventArgs e) { try { if (Mensaje.mostrarMensajeConfirmacion("MensajeManifiestoEliminacionSegregacion") == DialogResult.Yes) { ManifiestoCEF manifiesto = (ManifiestoCEF)dgvManifiestos.SelectedRows[0].DataBoundItem; _atencion.eliminarSegregadosManifiesto(manifiesto); manifiesto.Segregados.Clear(); dgvManifiestosSegregados.DataSource = manifiesto.Segregados; dgvManifiestosSegregados.Enabled = false; gbSegregacion.Enabled = true; btnEliminar.Enabled = false; Mensaje.mostrarMensaje("MensajeManifiestoConfirmacionEliminacionSegregacion"); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Obtener los manifiestos ligadas a una gestión. /// </summary> /// <param name="g">Objeto Gestion con los datos de la gestión para la cual se obtienen los manifiestos</param> public void obtenerManifiestosGestion(ref Gestion g) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectGestionManifiestos"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@gestion", g, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); if (datareader.Read()) { int id = (int)datareader["pk_ID"]; string codigo = (string)datareader["Codigo"]; ManifiestoCEF manifiesto = new ManifiestoCEF(id, codigo: codigo); g.agregarManifiesto(manifiesto); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Se selecciona otro manifiesto. /// </summary> private void dgvManifiestos_SelectionChanged(object sender, EventArgs e) { if (dgvManifiestos.SelectedRows.Count > 0) { ManifiestoCEF manifiesto = (ManifiestoCEF)dgvManifiestos.SelectedRows[0].DataBoundItem; dgvManifiestosSegregados.DataSource = manifiesto.Segregados; gbManifiestosSegregados.Enabled = false; if (manifiesto.Segregados.Count == 0) { gbSegregacion.Enabled = true; btnEliminar.Enabled = false; } else { gbSegregacion.Enabled = false; btnEliminar.Enabled = _coordinador.Puestos.Contains(Puestos.Supervisor); } } else { this.deshabilitarOpciones(); } }
/// <summary> /// Actualizar los datos de un manifiesto del CEF. /// </summary> /// <param name="m">Objeto ManifiestoCEF con los datos del manifiesto a actualizar</param> /// <param name="c">Coordinador que realiza la actualización</param> public void actualizarManifiestoCEF(ManifiestoCEF m, Colaborador c) { SqlCommand comando = _manejador.obtenerProcedimiento("UpdateManifiestoCEF"); _manejador.agregarParametro(comando, "@cajero", m.Cajero, SqlDbType.Int); _manejador.agregarParametro(comando, "@digitador", m.Digitador, SqlDbType.Int); _manejador.agregarParametro(comando, "@coordinador", m.Coordinador, SqlDbType.Int); _manejador.agregarParametro(comando, "@coordinador_encargado", c, SqlDbType.Int); _manejador.agregarParametro(comando, "@monto_colones", m.Monto_colones, SqlDbType.Money); _manejador.agregarParametro(comando, "@monto_dolares", m.Monto_dolares, SqlDbType.Money); _manejador.agregarParametro(comando, "@monto_euros", m.Monto_Euros, SqlDbType.Money); _manejador.agregarParametro(comando, "@depositos", m.Depositos, SqlDbType.TinyInt); _manejador.agregarParametro(comando, "@punto_venta", m.Punto_venta.Id, SqlDbType.SmallInt); _manejador.agregarParametro(comando, "@fecha", m.Fecha_procesamiento, SqlDbType.Date); _manejador.agregarParametro(comando, "@manifiesto", m, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorManifiestoActualizacion"); } }
/// <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> /// Listar las inconsistencias en depositos registradas durante un periodo de tiempo. /// </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 <InconsistenciaDeposito> listarInconsistencias(DateTime i, DateTime f) { BindingList <InconsistenciaDeposito> inconsistencias = new BindingList <InconsistenciaDeposito>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectInconsistenciasDepositos"); 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 diferencia_colones = (decimal)datareader["Diferencia_Colones"]; decimal diferencia_dolares = (decimal)datareader["Diferencia_Dolares"]; string comentario = (string)datareader["Comentario"]; int id_manifiesto = (int)datareader["ID_Manifiesto"]; string codigo_manifiesto = (string)datareader["Codigo_Manifiesto"]; int id_tula = (int)datareader["ID_Tula"]; string codigo_tula = (string)datareader["Codigo_Tula"]; byte id_camara = (byte)datareader["ID_Camara"]; string identificador = (string)datareader["Identificador"]; int id_deposito = (int)datareader["ID_Deposito"]; long referencia_deposito = (long)datareader["Referencia"]; decimal monto_deposito = (decimal)datareader["Monto"]; Monedas moneda_deposito = (Monedas)datareader["Moneda"]; long cuenta_deposito = (long)datareader["Cuenta"]; ManifiestoCEF manifiesto = new ManifiestoCEF(codigo_manifiesto, id: id_manifiesto); Tula tula = new Tula(codigo_tula, id: id_tula); Deposito deposito = new Deposito(referencia_deposito, id: id_deposito, monto: monto_deposito, moneda: moneda_deposito, cuenta: cuenta_deposito); Camara camara = new Camara(identificador, id: id_camara); InconsistenciaDeposito inconsistencia = new InconsistenciaDeposito(id_inconsistenca, manifiesto, tula, deposito, camara, fecha, diferencia_colones, diferencia_dolares, comentario); inconsistencias.Add(inconsistencia); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(inconsistencias); }
/// <summary> /// Clic en el botón de agregar manifiesto. /// </summary> private void btnAgregarManifiesto_Click(object sender, EventArgs e) { ManifiestoCEF manifiesto = new ManifiestoCEF(txtManifiesto.Text); BindingList <ManifiestoCEF> manifiestos = (BindingList <ManifiestoCEF>)dgvManifiestos.DataSource; manifiestos.Add(manifiesto); }
/// <summary> /// Obtener una lista de los manifiestos del CEF que tienen un determinado código o parte del mismo recibidos en la última semana. /// </summary> /// <param name="c">Código o parte del mismo de los manifiestos que se listarán</param> /// <returns>Lista de manifiesto que cumplen con el criterio de búsqueda</returns> public BindingList <ManifiestoCEF> listarManifiestosCEFRecientes(string c) { BindingList <ManifiestoCEF> manifiestos = new BindingList <ManifiestoCEF>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectManifiestosCEFCodigoRecientes2"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@codigo", c, SqlDbType.VarChar); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id = (int)datareader["ID_Manifiestos"]; string codigo = (string)datareader["Codigo"]; DateTime fecha_recepcion = (DateTime)datareader["Fecha_Recepcion"]; byte id_transportadora = (byte)datareader["ID_Transportadora"]; string nombre_transportadora = (string)datareader["Nombre"]; Colaborador cajero_receptor = null; if (datareader["ID_Cajero"] != DBNull.Value) { int id_cajero = (int)datareader["ID_Cajero"]; string nombre_cajero = (string)datareader["Nombre_Cajero"]; string primer_apellido = (string)datareader["Primer_Apellido"]; string segundo_apellido = (string)datareader["Segundo_Apellido"]; cajero_receptor = new Colaborador(id: id_cajero, nombre: nombre_cajero, primer_apellido: primer_apellido, segundo_apellido: segundo_apellido); } EmpresaTransporte transportadora = new EmpresaTransporte(nombre_transportadora, id: id_transportadora); ManifiestoCEF manifiesto = new ManifiestoCEF(codigo, id: id, empresa: transportadora, fecha_recepcion: fecha_recepcion, cajero_receptor: cajero_receptor); manifiesto.Cajero_Receptor = cajero_receptor; manifiestos.Add(manifiesto); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(manifiestos); }
/// <summary> /// Obtener una lista de los manifiestos del CEF que tienen un determinado código o parte del mismo. /// </summary> /// <param name="c">Código o parte del mismo de los manifiestos que se listarán</param> /// <returns>Lista de manifiesto que cumplen con el criterio de búsqueda</returns> public BindingList <ManifiestoCEF> listarManifiestosCEFPorCodigo(string c) { BindingList <ManifiestoCEF> manifiestos = new BindingList <ManifiestoCEF>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectManifiestosCEFCodigo"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@codigo", c, SqlDbType.VarChar); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_manifiesto = (int)datareader["ID_Manifiesto"]; string codigo = (string)datareader["Codigo"]; byte caja = (byte)datareader["Caja"]; DateTime fecha_recepcion = (DateTime)datareader["Fecha_Recepcion"]; DateTime fecha_recoleccion = (DateTime)datareader["Fecha_Recepcion"]; bool retraso = (bool)datareader["Retraso_Transportadora"]; int id_receptor = (int)datareader["ID_Receptor"]; string nombre_receptor = (string)datareader["Nombre"]; string primer_apellido = (string)datareader["Primer_Apellido"]; string segundo_apellido = (string)datareader["Segundo_Apellido"]; byte id_empresa = (byte)datareader["ID_Empresa"]; string nombre_empresa = (string)datareader["Nombre_Empresa"]; byte id_grupo = (byte)datareader["ID_Grupo"]; string nombre_grupo = (string)datareader["Nombre_Grupo"]; Colaborador receptor = new Colaborador(id_receptor, nombre_receptor, primer_apellido, segundo_apellido); EmpresaTransporte empresa = new EmpresaTransporte(nombre_empresa, id: id_empresa); Grupo grupo = new Grupo(id_grupo, nombre_grupo); ManifiestoCEF manifiesto = new ManifiestoCEF(codigo, id: id_manifiesto, grupo: grupo, caja: caja, empresa: empresa, receptor: receptor, fecha_recepcion: fecha_recepcion, fecha_recoleccion: fecha_recoleccion, retraso: retraso); manifiestos.Add(manifiesto); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(manifiestos); }
/// <summary> /// Selección de otro manifiesto. /// </summary> private void dgvManifiestos_SelectionChanged(object sender, EventArgs e) { if (dgvManifiestos.SelectedRows.Count > 0) { ManifiestoCEF manifiesto = (ManifiestoCEF)dgvManifiestos.SelectedRows[0].DataBoundItem; this.mostrarDatos(manifiesto); } else { this.deshabilitarOpciones(); } }
/// <summary> /// Mostrar las tulas y segregados ligados a un manifiesto. /// </summary> private void mostrarTulasSegregados(ManifiestoCEF manifiesto) { try { dgvSegregados.DataSource = manifiesto.Segregados; dgvSegregados.Enabled = manifiesto.Segregados.Count > 0; dgvTulas.DataSource = _atencion.listarTulasPorManifiesto(manifiesto); dgvTulas.Enabled = true; } catch (Exception ex) { throw ex; } }
/// <summary> /// Asignar un manifiesto a una gestión. /// </summary> /// <param name="m">Manifiesto que se ligará a la gestión</param> /// <param name="g">Objeto Gestion con los datos de la gestión</param> public void agregarManifiestoGestion(ref ManifiestoCEF m, Gestion g) { SqlCommand comando = _manejador.obtenerProcedimiento("InsertGestionManifiesto"); _manejador.agregarParametro(comando, "@codigo", m.Codigo, SqlDbType.VarChar); _manejador.agregarParametro(comando, "@gestion", g, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorManifiestoGestionActualizacion"); } }
/// <summary> /// Método que permite eliminar los segregados de un manifiesto del CEF. /// </summary> /// <param name="m">Manifiesto para el cual se eliminan los segregados</param> public void eliminarSegregados(ManifiestoCEF m) { SqlCommand comando = _manejador.obtenerProcedimiento("DeleteSegregadosManifiesto"); _manejador.agregarParametro(comando, "@manifiesto", m, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorSegregadosEliminacion"); } }
/// <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> /// Se selecciona un manifiesto de la lista de manifiestos. /// </summary> private void dgvManifiestos_SelectionChanged(object sender, EventArgs e) { if (dgvManifiestos.SelectedRows.Count > 0) { ManifiestoCEF manifiesto = (ManifiestoCEF)dgvManifiestos.SelectedRows[0].DataBoundItem; if (manifiesto.Cajero_Reasignado != null) { cboCajero.Text = Convert.ToString(manifiesto.Cajero_Reasignado); txtCajeroAsignado.Text = Convert.ToString(manifiesto.Cajero_Reasignado); _cajero_receptor = manifiesto.Cajero_Reasignado; } else { if (manifiesto.Cajero_Receptor != null) { cboCajero.Text = Convert.ToString(manifiesto.Cajero_Receptor); txtCajeroAsignado.Text = Convert.ToString(manifiesto.Cajero_Receptor); _cajero_receptor = manifiesto.Cajero_Receptor; } else { txtCajeroAsignado.Text = string.Empty; } } txtCodigoManifiesto.Text = manifiesto.Codigo; dgvSegregados.DataSource = manifiesto.Segregados; dgvSegregados.Enabled = true; if (manifiesto.Segregados.Count > 0) { return; } this.mostrarDatos(manifiesto); } else { this.deshabilitarOpciones(); } }
/// <summary> /// Mostrar los datos de un manifiesto. /// </summary> private void mostrarDatos(ManifiestoCEF manifiesto) { _manifiesto = manifiesto; // Mostrar los datos nudMontoColonesReal.Value = _manifiesto.Monto_colones; nudMontoDolaresReal.Value = _manifiesto.Monto_dolares; nudDepositosReales.Value = _manifiesto.Depositos; bool estado = true; if (_manifiesto.Coordinador != null) { _coordinador_valido = _manifiesto.Coordinador.Equals(_coordinador); _dia_valido = manifiesto.Fecha_procesamiento.Date == _fecha_actual.Date; estado = _supervisor || (_coordinador_valido && _dia_valido); cboCajero.Text = _manifiesto.Cajero.ToString(); cboDigitador.Text = _manifiesto.Digitador.ToString(); cboCoordinador.Text = _manifiesto.Coordinador.ToString(); dtpFechaManifiesto.Value = (DateTime)_manifiesto.Fecha_procesamiento; } // Validar si el coordinador puede modificar el manifiesto pnlDetallesManifiesto.Enabled = estado; btnGuardar.Enabled = estado; if (_manifiesto.Punto_venta != null) { cboCliente.Text = _manifiesto.Punto_venta.Cliente.Nombre; cboPuntoVenta.Text = _manifiesto.Punto_venta.Nombre; } else { cboCliente.Text = string.Empty; cboPuntoVenta.Text = string.Empty; } }
/// <summary> /// Actualizar los datos de los colaboradores y la sucursal de un manifiesto del CEF. /// </summary> /// <param name="m">Objeto Manifiesto con los datos del manifiesto a actualizar</param> public void actualizarManifiestoCEFDatos(ManifiestoCEF m) { SqlCommand comando = _manejador.obtenerProcedimiento("UpdateManifiestoCEFDatos"); _manejador.agregarParametro(comando, "@cajero", m.Cajero, SqlDbType.Int); _manejador.agregarParametro(comando, "@digitador", m.Digitador, SqlDbType.Int); _manejador.agregarParametro(comando, "@coordinador", m.Coordinador, SqlDbType.Int); _manejador.agregarParametro(comando, "@punto_venta", m.Punto_venta.Id, SqlDbType.SmallInt); _manejador.agregarParametro(comando, "@fecha", m.Fecha_procesamiento, SqlDbType.Date); _manejador.agregarParametro(comando, "@manifiesto", m, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorManifiestoActualizacion"); } }
/// <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> /// 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> /// Obtener el coordinador, cajero, el digitador, la sucursal y la fecha de procesamiento de un manifiesto del CEF. /// </summary> /// <param name="m">Objeto Manifiesto con los datos del manifiesto para el cual se obtienen los datos</param> public void obtenerDatosManifiestoCEF(ref ManifiestoCEF m) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectManifiestoCEFDatos2"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@manifiesto", m, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); if (datareader.Read()) { DateTime fecha_procesamiento = (DateTime)datareader["Fecha_Procesamiento"]; decimal monto_colones = (decimal)datareader["Monto_Colones"]; decimal monto_dolares = (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"]; 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"]; Colaborador cajero_receptor = null; if (datareader["ID_Cajero_Receptor"] != DBNull.Value) { int id_cajero_receptor = (int)datareader["ID_Cajero_Receptor"]; string nombre_cajero_receptor = (string)datareader["Nombre_Cajero_Receptor"]; string primer_apellido_receptor = (string)datareader["Primer_Apellido_Cajero_Receptor"]; string segundo_apellido_receptor = (string)datareader["Segundo_Apellido_Cajero_Receptor"]; cajero_receptor = new Colaborador(id: id_cajero_receptor, nombre: nombre_cajero_receptor, primer_apellido: primer_apellido_receptor, segundo_apellido: segundo_apellido_receptor); } 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); m.Monto_colones = monto_colones; m.Monto_dolares = monto_dolares; m.Monto_Euros = monto_euros; m.Depositos = depositos; m.Punto_venta = punto_venta; m.Cajero = cajero; m.Cajero_Receptor = cajero_receptor; m.Digitador = digitador; m.Coordinador = coordinador; m.Fecha_procesamiento = fecha_procesamiento; } 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 (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(); } }