예제 #1
0
        /// <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 obtenerEmergenciasCargaEmergenciaSucursal(ref CargaEmergenciaSucursal c)
        {
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCargasSucursalCargaEmergenciaSucursal");
            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_Pedido"];


                    CargaSucursal carga = new CargaSucursal(id: id_carga, emergencia: emergencia, fecha_asignada: fecha_asignada);

                    c.agregarEmergencia(carga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
예제 #2
0
        /// <summary>
        /// Eliminar los datos de una carga de emergencia de una Sucursal.
        /// </summary>
        /// <param name="c">Objeto CargaEmergenciaSucursal con los datos de la carga</param>
        public void eliminarCargaEmergenciaSucursal(CargaEmergenciaSucursal c)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("DeleteCargaEmergenciaSucursal");

            _manejador.agregarParametro(comando, "@carga", c, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorCargaEmergenciaATMEliminacion");
            }
        }
예제 #3
0
        /// <summary>
        /// Registrar en el sistema la carga de emergencia de una Sucursal.
        /// </summary>
        /// <param name="c">Objeto CargaEmergenciaSucursal con los datos de la carga de emergencia/param>
        public void agregarCargaEmergenciaSucursal(ref CargaEmergenciaSucursal c)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertCargaEmergenciaSucursal");

            _manejador.agregarParametro(comando, "@sucursal", c.Sucursal, 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");
            }
        }
예제 #4
0
        /// <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)
                {
                    CargaEmergenciaSucursal carga = (CargaEmergenciaSucursal)dgvCargasEmergencia.SelectedRows[0].DataBoundItem;

                    _coordinacion.eliminarCargaEmergenciaSucursal(carga);

                    dgvCargasEmergencia.Rows.Remove(dgvCargasEmergencia.SelectedRows[0]);
                    Mensaje.mostrarMensaje("MensajeCargaEmergenciaATMConfirmacionEliminacion");
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }
예제 #5
0
        /// <summary>
        /// Listar las cargas de emergencia por fecha.
        /// </summary>
        /// <param name="f">Fecha de las cargas que se listarán</param>
        public BindingList <CargaEmergenciaSucursal> listarCargasEmergenciaSucursales(DateTime f)
        {
            BindingList <CargaEmergenciaSucursal> cargas = new BindingList <CargaEmergenciaSucursal>();
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectCargasEmergenciaSucursales");
            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"];
                    int numero_emergencia = (int)(byte)datareader["Numero_Emergencia"];

                    Sucursal atm = null;

                    if (datareader["ID_ATM"] != DBNull.Value)
                    {
                        short  id_atm = (short)datareader["ID_ATM"];
                        short  numero = (short)datareader["Numero"];
                        string nombre = (string)datareader["Nombre"];

                        atm = new Sucursal(id: id_atm, codigo: numero, nombre: nombre);
                    }

                    CargaEmergenciaSucursal carga = new CargaEmergenciaSucursal(id: id_carga, sucursal: atm, fecha: f);

                    cargas.Add(carga);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(cargas);
        }
예제 #6
0
        /// <summary>
        /// Mostrar la ventana de modificación de la carga de emergencia.
        /// </summary>
        private void mostrarVentanaModificacion()
        {
            try
            {
                CargaEmergenciaSucursal carga = (CargaEmergenciaSucursal)dgvCargasEmergencia.SelectedRows[0].DataBoundItem;

                if (carga.Descargada)
                {
                    return;
                }

                frmModificionCargasEmergenciaSucursales formulario = new frmModificionCargasEmergenciaSucursales(carga);

                formulario.ShowDialog(this);

                dgvCargasEmergencia.Refresh();
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }
예제 #7
0
        /// <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)
            {
                CargaEmergenciaSucursal carga = (CargaEmergenciaSucursal)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;
            }
        }
        public frmModificionCargasEmergenciaSucursales(CargaEmergenciaSucursal carga)
        {
            InitializeComponent();

            _carga = carga;

            try
            {
                this.cargarDatos();

                dgvEmergenciasAsignadas.DataSource = carga.Emergencias;

                dtpFechaCarga.Value = carga.Fecha;
                dtpFechaCarga.Enabled = false;

                cboATM.Text = carga.Sucursal.ToString();
                cboATM.Enabled = false;
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }
예제 #9
0
        /// <summary>
        /// Agregar una carga de emergencia a la lista.
        /// </summary>
        public void agregarCargaEmergenciaATM(CargaEmergenciaSucursal carga)
        {
            BindingList <CargaEmergenciaSucursal> cargas = (BindingList <CargaEmergenciaSucursal>)dgvCargasEmergencia.DataSource;

            cargas.Add(carga);
        }
        /// <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("ErrorCargaEmergenciaSucursalDatosRegistro");
                return;
            }

            try
            {
                frmListaCargasEmergenciaSucursales padre = (frmListaCargasEmergenciaSucursales)this.Owner;

                Sucursal atm = (Sucursal)cboATM.SelectedItem;
                DateTime fecha = dtpFechaCarga.Value;
               

                BindingList<CargaSucursal> emergencias = (BindingList<CargaSucursal>)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)
                    {
                        CargaEmergenciaSucursal nueva = new CargaEmergenciaSucursal(sucursal: atm, fecha: fecha);

                        nueva.Emergencias = emergencias;

                        _coordinacion.agregarCargaEmergenciaSucursal(ref nueva);

                        nueva.reasignarEmergencias();

                        padre.agregarCargaEmergenciaATM(nueva);
                        Mensaje.mostrarMensaje("MensajeCargaEmergenciaATMConfirmacionRegistro");
                        this.Close();
                    }

                }
                else
                {
                    // Actualizar los datos de la carga de emergencia

                    CargaEmergenciaSucursal copia = new CargaEmergenciaSucursal(id: _carga.ID, sucursal: atm, fecha: fecha);

                    copia.Emergencias = emergencias;

                    _coordinacion.actualizarCargaEmergenciaSucursal(copia);

                    _carga.Emergencias = emergencias;

                    _carga.reasignarEmergencias();

                    padre.actualizarLista();
                    Mensaje.mostrarMensaje("MensajeCargaEmergenciaATMConfirmacionActualizacion");
                    this.Close();
                }

            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }