Пример #1
0
        /// <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 ((cboTipoUbicacion.SelectedIndex == 0 && cboSucursal.SelectedItem == null) ||
                (cboTipoUbicacion.SelectedIndex == 1 && cboUbicacion.SelectedItem == null) ||
                cboTipo.SelectedItem == null || cboTransportadora.SelectedItem == null ||
                mtbNumero.Text.Equals(string.Empty) || txtCodigo.Text.Equals(string.Empty) ||
                txtOficinas.Text.Equals(string.Empty))
            {
                Excepcion.mostrarMensaje("ErrorATMDatosRegistro");
                return;
            }

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

                short             numero            = short.Parse(mtbNumero.Text);
                EmpresaTransporte empresa_encargada = (EmpresaTransporte)cboTransportadora.SelectedItem;
                TiposCartucho     tipo  = (TiposCartucho)cboTipo.SelectedIndex;
                byte   cartuchos        = (byte)nudCartuchos.Value;
                string codigo           = txtCodigo.Text;
                string oficinas         = txtOficinas.Text;
                bool   externo          = chkExterno.Checked;
                bool   full             = chkFull.Checked;
                bool   ena              = full && chkENA.Checked;
                bool   vip              = chkVIP.Checked;
                bool   cartucho_rechazo = chkCartuchoRechazo.Checked;

                byte?periodo_carga = rbCargaPeriodica.Checked ?
                                     (byte?)nudPeriodoCarga.Value : null;

                Sucursal sucursal = cboTipoUbicacion.SelectedIndex == 0 ?
                                    (Sucursal)cboSucursal.SelectedItem : null;

                Ubicacion ubicacion = cboTipoUbicacion.SelectedIndex == 1 ?
                                      (Ubicacion)cboUbicacion.SelectedItem : null;

                // Verificar si el ATM ya está registrado

                if (_atm == null)
                {
                    // Agregar los datos del ATM

                    if (Mensaje.mostrarMensajeConfirmacion("MensajeATMRegistro") == DialogResult.Yes)
                    {
                        ATM nuevo = new ATM(numero: numero, tipo: tipo, empresa_encargada: empresa_encargada, cartuchos: cartuchos,
                                            externo: externo, full: full, ena: ena, vip: vip, cartucho_rechazo: cartucho_rechazo,
                                            codigo: codigo, oficinas: oficinas, periodo_carga: periodo_carga, sucursal: sucursal,
                                            ubicacion: ubicacion);

                        foreach (int dia in clbDiasCarga.CheckedIndices)
                        {
                            nuevo.agregarDiaCarga((Dias)dia + 1);
                        }

                        _mantenimiento.agregarATM(ref nuevo);

                        padre.agregarATM(nuevo);
                        Mensaje.mostrarMensaje("MensajeATMConfirmacionRegistro");
                        this.Close();
                    }
                }
                else
                {
                    // Actualizar los datos del ATM

                    ATM copia = new ATM(id: _atm.ID, numero: numero, empresa_encargada: empresa_encargada, tipo: tipo,
                                        cartuchos: cartuchos, externo: externo, full: full, ena: ena, vip: vip,
                                        cartucho_rechazo: cartucho_rechazo, codigo: codigo, oficinas: oficinas,
                                        periodo_carga: periodo_carga, sucursal: sucursal,
                                        ubicacion: ubicacion);

                    foreach (int dia in clbDiasCarga.CheckedIndices)
                    {
                        copia.agregarDiaCarga((Dias)dia + 1);
                    }

                    _mantenimiento.actualizarATM(copia);

                    _atm.Numero            = numero;
                    _atm.Empresa_encargada = empresa_encargada;
                    _atm.Tipo             = tipo;
                    _atm.Cartuchos        = cartuchos;
                    _atm.Externo          = externo;
                    _atm.Full             = full;
                    _atm.ENA              = ena;
                    _atm.VIP              = vip;
                    _atm.Cartucho_rechazo = cartucho_rechazo;
                    _atm.Codigo           = codigo;
                    _atm.Oficinas         = oficinas;
                    _atm.Periodo_carga    = periodo_carga;
                    _atm.Sucursal         = sucursal;
                    _atm.Ubicacion        = ubicacion;
                    _atm.Dias_carga       = copia.Dias_carga;

                    padre.actualizarLista();
                    Mensaje.mostrarMensaje("MensajeATMConfirmacionActualizacion");
                    this.Close();
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }