/// <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(); } }