/// <summary> /// Obtener las emergencias ligadas a la carga de emergenciade un ATM. /// </summary> /// <param name="c">Objeto CargaEmergenciaATM con los datos de la carga de emergencia</param> public void obtenerEmergenciasCargaEmergenciaATM(ref CargaEmergenciaATM c) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectCargasATMCargaEmergenciaATM"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@carga", c, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_carga = (int)datareader["pk_ID"]; byte emergencia = (byte)datareader["Emergencia"]; DateTime fecha_asignada = (DateTime)datareader["Fecha_Asignada"]; TiposCartucho tipo = (TiposCartucho)datareader["Tipo"]; CargaATM carga = new CargaATM(id: id_carga, emergencia: emergencia, fecha_asignada: fecha_asignada, tipo: tipo); c.agregarEmergencia(carga); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Clic en el botón de eliminar una carga de emergencia. /// </summary> private void btnEliminar_Click(object sender, EventArgs e) { try { if (Mensaje.mostrarMensajeConfirmacion("MensajeCargaEmergenciaATMEliminacion") == DialogResult.Yes) { CargaEmergenciaATM carga = (CargaEmergenciaATM)dgvCargasEmergencia.SelectedRows[0].DataBoundItem; _coordinacion.eliminarCargaEmergenciaATM(carga); EmpresaTransporte empresa = new EmpresaTransporte(id: 5, nombre: "BAC"); BindingList <CargaATM> nuevalista = new BindingList <CargaATM>(); CargaATM nueva = new CargaATM(atm: carga.ATM, id: carga.ID, fecha_asignada: carga.Fecha, transportadora: empresa); nueva.Cartuchos = carga.Cartuchos; nuevalista.Add(nueva); _coordinacion.guardarDatosATMINFO(nuevalista, "E"); dgvCargasEmergencia.Rows.Remove(dgvCargasEmergencia.SelectedRows[0]); Mensaje.mostrarMensaje("MensajeCargaEmergenciaATMConfirmacionEliminacion"); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Obtener las descargas del cierre de un cajero de ATM's. /// </summary> /// <param name="c">Objeto CierreATMs con los datos del cierre del cajero de ATM's</param> public void obtenerDescargasATMsCierreATMs(ref CierreATMs c) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectDescargasATMsCierreATMs"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@cierre", c, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_descarga = (int)datareader["ID_Descarga"]; DateTime fecha = (DateTime)datareader["Fecha"]; string observaciones = (string)datareader["Observaciones"]; short id_atm = (short)datareader["ID_ATM"]; short numero = (short)datareader["Numero"]; string codigo = (string)datareader["Codigo"]; string oficinas = (string)datareader["Oficinas"]; ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo, oficinas: oficinas); CargaATM carga = null; if (datareader["ID_Carga"] != DBNull.Value) { int id_carga = (int)datareader["ID_Carga"]; DateTime fecha_asignada = (DateTime)datareader["Fecha_Asignada"]; TiposCartucho tipo = (TiposCartucho)datareader["Tipo"]; carga = new CargaATM(atm, id: id_carga, fecha_asignada: fecha_asignada, tipo: tipo); } CargaEmergenciaATM carga_emergencia = null; if (datareader["ID_Carga_Emergencia"] != DBNull.Value) { int id_carga_emergencia = (int)datareader["ID_Carga_Emergencia"]; DateTime fecha_carga = (DateTime)datareader["Fecha"]; carga_emergencia = new CargaEmergenciaATM(id: id_carga_emergencia, atm: atm, fecha: fecha_carga); } DescargaATM descarga = new DescargaATM(id: id_descarga, fecha: fecha, cierre: c, carga: carga, carga_emergencia: carga_emergencia, observaciones: observaciones); c.agregarDescarga(descarga); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Obtener una lista de las descargas de cargas de emergencia pendientes por número de marchamo. /// </summary> /// <param name="m">Número de marchamo buscado</param> /// <returns>Lista descargas pendientes</returns> public BindingList <DescargaATM> listarDescargasATMsEmergenciaPendientesPorMarchamoCompletas(string m) { BindingList <DescargaATM> descargas = new BindingList <DescargaATM>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectCargasEmergenciaATMsNoDescargadasPorMarchamosCompletas"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@marchamo", m, SqlDbType.VarChar); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_carga = (int)datareader["ID_Carga"]; DateTime fecha_carga = (DateTime)datareader["Fecha_Carga"]; short id_atm = (short)datareader["ID_ATM"]; short numero = (short)datareader["Numero"]; string codigo = (string)datareader["Codigo_ATM"]; string oficinas = (string)datareader["Oficinas"]; int id_manifiesto = (int)datareader["ID_Manifiesto"]; string codigo_manifiesto = (string)datareader["Codigo_Manifiesto"]; string marchamo = (string)datareader["Marchamo"]; string marchamo_adicional = (string)datareader["Marchamo_Adicional"]; string bolsa_rechazo = datareader["Bolsa_Rechazo"] as string; DateTime fecha_manifiesto = (DateTime)datareader["Fecha_Manifiesto"]; ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo, oficinas: oficinas); ManifiestoATMCarga manifiesto = new ManifiestoATMCarga(codigo_manifiesto, marchamo, fecha_manifiesto, bolsa_rechazo, marchamo_adicional, id: id_manifiesto); CargaEmergenciaATM carga = new CargaEmergenciaATM(id: id_carga, atm: atm, fecha: fecha_carga); DescargaATM descarga = new DescargaATM(manifiesto: manifiesto, carga_emergencia: carga); descargas.Add(descarga); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(descargas); }
/// <summary> /// Eliminar los datos de una carga de emergencia de un ATM. /// </summary> /// <param name="c">Objeto CargaEmergenciaATM con los datos de la carga</param> public void eliminarCargaEmergenciaATM(CargaEmergenciaATM c) { SqlCommand comando = _manejador.obtenerProcedimiento("DeleteCargaEmergenciaATM"); _manejador.agregarParametro(comando, "@carga", c, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorCargaEmergenciaATMEliminacion"); } }
/// <summary> /// Registrar en el sistema la carga de emergencia de un ATM. /// </summary> /// <param name="c">Objeto CargaEmergenciaATM con los datos de la carga de emergencia/param> public void agregarCargaEmergenciaATM(ref CargaEmergenciaATM c) { SqlCommand comando = _manejador.obtenerProcedimiento("InsertCargaEmergenciaATM"); _manejador.agregarParametro(comando, "@atm", c.ATM, SqlDbType.SmallInt); _manejador.agregarParametro(comando, "@fecha", c.Fecha, SqlDbType.Date); try { c.ID = (int)_manejador.ejecutarEscalar(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorCargaEmergenciaATMRegistro"); } }
/// <summary> /// Listar las cargas de emergencia por fecha. /// </summary> /// <param name="f">Fecha de las cargas que se listarán</param> public BindingList <CargaEmergenciaATM> listarCargasEmergenciaATMs(DateTime f) { BindingList <CargaEmergenciaATM> cargas = new BindingList <CargaEmergenciaATM>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectCargasEmergenciaATMs"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@fecha", f, SqlDbType.Date); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_carga = (int)datareader["ID_Carga"]; bool descargada = (bool)datareader["Descargada"]; int numero_emergencia = (int)(byte)datareader["Numero_Emergencia"]; ATM atm = null; if (datareader["ID_ATM"] != DBNull.Value) { short id_atm = (short)datareader["ID_ATM"]; short numero = (short)datareader["Numero"]; string codigo = (string)datareader["Codigo"]; atm = new ATM(id: id_atm, numero: numero, codigo: codigo); } CargaEmergenciaATM carga = new CargaEmergenciaATM(id: id_carga, atm: atm, fecha: f, descargada: descargada, numero_emergencia: numero_emergencia); cargas.Add(carga); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(cargas); }
/// <summary> /// Mostrar la ventana de modificación de la carga de emergencia. /// </summary> private void mostrarVentanaModificacion() { try { CargaEmergenciaATM carga = (CargaEmergenciaATM)dgvCargasEmergencia.SelectedRows[0].DataBoundItem; if (carga.Descargada) { return; } frmModificacionCargaEmergencia formulario = new frmModificacionCargaEmergencia(carga); formulario.ShowDialog(this); dgvCargasEmergencia.Refresh(); } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Obtener una lista de las descargas de cargas emergencia pendientes. /// </summary> /// <returns>Lista de descargas pendientes</returns> public BindingList <DescargaATM> listarDescargasATMsEmergenciaPendientesCompletas() { BindingList <DescargaATM> descargas = new BindingList <DescargaATM>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectCargasEmergenciaATMsNoDescargadasCompletas"); SqlDataReader datareader = null; try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_carga = (int)datareader["ID_Carga"]; DateTime fecha = (DateTime)datareader["Fecha"]; short id_atm = (short)datareader["ID_ATM"]; short numero = (short)datareader["Numero"]; string codigo = (string)datareader["Codigo"]; string oficinas = (string)datareader["Oficinas"]; ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo, oficinas: oficinas); CargaEmergenciaATM carga = new CargaEmergenciaATM(id: id_carga, atm: atm, fecha: fecha); DescargaATM descarga = new DescargaATM(carga_emergencia: carga); descargas.Add(descarga); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(descargas); }
public frmModificacionCargaEmergencia(CargaEmergenciaATM carga) { InitializeComponent(); _carga = carga; try { this.cargarDatos(); dgvEmergenciasAsignadas.DataSource = carga.Emergencias; dtpFechaCarga.Value = carga.Fecha; dtpFechaCarga.Enabled = false; cboATM.Text = carga.ATM.ToString(); cboATM.Enabled = false; } catch (Exception ex) { throw ex; } }
/// <summary> /// Se selecciona otra carga de emergencia de la lista de cargas. /// </summary> private void dgvCargasEmergencia_SelectionChanged(object sender, EventArgs e) { if (dgvCargasEmergencia.SelectedRows.Count > 0) { CargaEmergenciaATM carga = (CargaEmergenciaATM)dgvCargasEmergencia.SelectedRows[0].DataBoundItem; if (carga.Descargada) { btnModificar.Enabled = false; btnEliminar.Enabled = false; } else { btnModificar.Enabled = true; btnEliminar.Enabled = true; } } else { btnModificar.Enabled = false; btnEliminar.Enabled = false; } }
/// <summary> /// Listar las descargas por fecha, cajero, ruta y ATM. /// </summary> /// <param name="c">Objeto Colaborador con los datos del cajero de ATM's para el cual se genera la lista</param> /// <param name="a">Objeto ATM con los datos del ATM para el cual se genera la lista</param> /// <param name="r">Ruta de las descargas que se listarán</param> /// <param name="f">Fecha de procesamiento de las descargas que se listarán</param> /// <returns>Lista de descargas que cumplen con los parámetros</returns> public BindingList <DescargaATM> listarDescargasATMs(Colaborador c, ATM a, DateTime f, byte?r) { BindingList <DescargaATM> descargas = new BindingList <DescargaATM>(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectDescargasATMsMonitoreo"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@cajero", c, SqlDbType.Int); _manejador.agregarParametro(comando, "@atm", a, SqlDbType.SmallInt); _manejador.agregarParametro(comando, "@fecha", f, SqlDbType.Date); _manejador.agregarParametro(comando, "@ruta", r, SqlDbType.TinyInt); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id_descarga = (int)datareader["ID_Descarga"]; short id_atm = (short)datareader["ID_ATM"]; short numero = (short)datareader["Numero"]; string codigo = (string)datareader["Codigo"]; string oficinas = (string)datareader["Oficinas"]; ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo, oficinas: oficinas); int id_cajero = (int)datareader["ID_Cajero_Descarga"]; string nombre_cajero = (string)datareader["Nombre_Cajero_Descarga"]; string primer_apellido_cajero = (string)datareader["Primer_Apellido_Cajero_Descarga"]; string segundo_apellido_cajero = (string)datareader["Segundo_Apellido_Cajero_Descarga"]; Colaborador cajero_descarga = new Colaborador(id_cajero, nombre_cajero, primer_apellido_cajero, segundo_apellido_cajero); int id_coordinador = (int)datareader["ID_Cajero_Descarga"]; string nombre_coordinador = (string)datareader["Nombre_Cajero_Descarga"]; string primer_apellido_coordinador = (string)datareader["Primer_Apellido_Cajero_Descarga"]; string segundo_apellido_coordinador = (string)datareader["Segundo_Apellido_Cajero_Descarga"]; Colaborador coordinador = new Colaborador(id_coordinador, nombre_coordinador, primer_apellido_coordinador, segundo_apellido_coordinador); byte id_camara = 0; string identificador = ""; if (datareader["ID_Camara"] != DBNull.Value) { id_camara = (byte)datareader["ID_Camara"]; identificador = (string)datareader["Identificador"]; } Camara camara = new Camara(identificador, id: id_camara); int id_cierre = (int)datareader["ID_cierre"]; DateTime fecha = (DateTime)datareader["Fecha_Cierre"]; CierreATMs cierre = new CierreATMs(cajero_descarga, id: id_cierre, coordinador: coordinador, fecha: fecha, camara: camara); Colaborador cajero_carga = null; if (datareader["ID_Cajero_Carga"] != DBNull.Value) { int id_cajero_carga = (int)datareader["ID_Cajero_Carga"]; string nombre_cajero_carga = (string)datareader["Nombre_Cajero_Carga"]; string primer_apellido_cajero_carga = (string)datareader["Primer_Apellido_Cajero_Carga"]; string segundo_apellido_cajero_carga = (string)datareader["Segundo_Apellido_Cajero_Carga"]; cajero_carga = new Colaborador(id_cajero_carga, nombre_cajero_carga, primer_apellido_cajero_carga, segundo_apellido_cajero_carga); } Tripulacion tripulacion = null; if (datareader["ID_Tripulacion"] != DBNull.Value) { short id_tripulacion = (short)datareader["ID_Tripulacion"]; string descripcion = (string)datareader["Descripcion_Tripulacion"]; int id_chofer = (int)datareader["ID_Chofer"]; string nombre_chofer = (string)datareader["Nombre_Chofer"]; string primer_apellido_chofer = (string)datareader["PrimerApellido_Chofer"]; string segundo_apellido_chofer = (string)datareader["SegundoApellido_Chofer"]; string identificacion_chofer = (string)datareader["Identificacion_Chofer"]; int id_custodio = (int)datareader["ID_Custodio"]; string nombre_custodio = (string)datareader["Nombre_Custodio"]; string primer_apellido_custodio = (string)datareader["PrimerApellido_Custodio"]; string segundo_apellido_custodio = (string)datareader["SegundoApellido_Custodio"]; string identificacion_custodio = (string)datareader["Identificacion_Custodio"]; int id_portavalor = (int)datareader["ID_Portavalor"]; string nombre_portavalor = (string)datareader["Nombre_Portavalor"]; string primer_apellido_portavalor = (string)datareader["PrimerApellido_Portavalor"]; string segundo_apellido_portavalor = (string)datareader["SegundoApellido_Portavalor"]; string identificacion_portavalor = (string)datareader["Identificacion_Portavalor"]; Colaborador chofer = new Colaborador(id_chofer, nombre_chofer, primer_apellido_chofer, segundo_apellido_chofer, identificacion_chofer); Colaborador custodio = new Colaborador(id_custodio, nombre_custodio, primer_apellido_custodio, segundo_apellido_custodio, identificacion_custodio); Colaborador portavalor = new Colaborador(id_portavalor, nombre_portavalor, primer_apellido_portavalor, segundo_apellido_portavalor, identificacion_portavalor); short id_vehiculo = (short)datareader["ID_Vehiculo"]; string modelo = (string)datareader["Modelo"]; string placa = (string)datareader["Placa"]; int numeroasoc = (Int32)datareader["NumeroAsociado"]; int ordensalida = (Int32)datareader["OrdenSalida"]; Vehiculo vehiculo = new Vehiculo(placa: placa, modelo: modelo, numeroasociado: numeroasoc, id: id_vehiculo); tripulacion = new Tripulacion(nombre: descripcion, chofer: chofer, custodio: custodio, portavalor: portavalor, id: id_tripulacion, v: vehiculo, ordenSalida: ordensalida); } CargaATM carga = null; if (datareader["ID_Carga"] != DBNull.Value) { int id_carga = (int)datareader["ID_Carga"]; DateTime fecha_asignada = (DateTime)datareader["Fecha_Asignada"]; TiposCartucho tipo = (TiposCartucho)datareader["Tipo"]; byte? ruta = datareader["Ruta"] as byte?; byte? orden_ruta = datareader["Orden_Ruta"] as byte?; bool atm_full = (bool)datareader["ATM_Full"]; bool cartucho_rechazo = (bool)datareader["Cartucho_Rechazo"]; bool ena = (bool)datareader["ENA"]; string observaciones = (string)datareader["Observaciones"]; carga = new CargaATM(atm, id: id_carga, cajero: cajero_carga, fecha_asignada: fecha_asignada, tipo: tipo, ruta: ruta, orden_ruta: orden_ruta, atm_full: atm_full, cartucho_rechazo: cartucho_rechazo, ena: ena, observaciones: observaciones, trip: tripulacion); } CargaEmergenciaATM carga_emergencia = null; if (datareader["ID_Carga_Emergencia"] != DBNull.Value) { int id_carga_emergencia = (int)datareader["ID_Carga_Emergencia"]; DateTime fecha_carga_emergencia = (DateTime)datareader["Fecha_Carga_Emergencia"]; carga_emergencia = new CargaEmergenciaATM(id: id_carga_emergencia, atm: atm, fecha: fecha_carga_emergencia); } DescargaATM descarga = new DescargaATM(id: id_descarga, cierre: cierre, carga: carga, fecha: f, carga_emergencia: carga_emergencia); descargas.Add(descarga); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(descargas); }
/// <summary> /// Clic en el botón de guardar. /// </summary> private void btnGuardar_Click(object sender, EventArgs e) { // Verificar que se hayan seleccionado los datos if (cboATM.SelectedItem == null) { Excepcion.mostrarMensaje("ErrorCargaEmergenciaATMDatosRegistro"); return; } try { frmListaCargasEmergencia padre = (frmListaCargasEmergencia)this.Owner; ATM atm = (ATM)cboATM.SelectedItem; DateTime fecha = dtpFechaCarga.Value; BindingList <CargaATM> emergencias = (BindingList <CargaATM>)dgvEmergenciasAsignadas.DataSource; // Verificar si la carga de emergencia ya está registrada if (_carga == null) { // Agregar los datos de la carga de emergencia if (Mensaje.mostrarMensajeConfirmacion("MensajeCargaEmergenciaATMRegistro") == DialogResult.Yes) { CargaEmergenciaATM nueva = new CargaEmergenciaATM(atm: atm, fecha: fecha); nueva.Emergencias = emergencias; _coordinacion.agregarCargaEmergenciaATM(ref nueva); nueva.reasignarEmergencias(); padre.agregarCargaEmergenciaATM(nueva); foreach (CargaATM c in nueva.Emergencias) { c.ATM = atm; c.Transportadora = new EmpresaTransporte(id: 5, nombre: "BAC"); } _coordinacion.guardarDatosATMINFO(nueva.Emergencias, "I"); Mensaje.mostrarMensaje("MensajeCargaEmergenciaATMConfirmacionRegistro"); this.Close(); } } else { // Actualizar los datos de la carga de emergencia CargaEmergenciaATM copia = new CargaEmergenciaATM(id: _carga.ID, atm: atm, fecha: fecha); copia.Emergencias = emergencias; _coordinacion.actualizarCargaEmergenciaATM(copia); _carga.Emergencias = emergencias; _carga.reasignarEmergencias(); padre.actualizarLista(); Mensaje.mostrarMensaje("MensajeCargaEmergenciaATMConfirmacionActualizacion"); this.Close(); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Agregar una carga de emergencia a la lista. /// </summary> public void agregarCargaEmergenciaATM(CargaEmergenciaATM carga) { BindingList <CargaEmergenciaATM> cargas = (BindingList <CargaEmergenciaATM>)dgvCargasEmergencia.DataSource; cargas.Add(carga); }