private void txtCodigoPostal_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { //Validamos que sea un numero lo que se ingresó en el textbox bool isNumeric = int.TryParse(this.txtCodigoPostal.Text.Trim(), out int codigoPostal); if (isNumeric == false) { this.txtCodigoPostal.SelectAll(); this.label2.Visible = false; this.lblMejorOpcion.Visible = false; this.btnUtilizarGuia.Visible = false; this.lblEstado.Visible = false; this.lblMunicipio.Visible = false; this.lblNoEncontrado.Visible = false; Mensajes.NoExito("Inserte un código postal válido"); return; } //Hacemos una consulta a la DB para traer la mejor opción de paquetería dependiendo de su nivel de prioridad string sql = string.Format("SELECT TOP 1 Paqueterias.NombrePaqueteria FROM Paqueterias_codigos INNER JOIN Paqueterias ON Paqueterias_codigos.Paqueteria=Paqueterias.NombrePaqueteria WHERE Paqueterias_codigos.CodigoPostal={0} ORDER BY Paqueterias.Prioridad ASC;", this.txtCodigoPostal.Text.Trim()); ds = Conexion.Ejecutar(sql);//Ejecutamos la consulta sql = string.Format("SELECT Estado, Municipio FROM Codigos_postales WHERE CodigoPostal={0}", this.txtCodigoPostal.Text.Trim()); DataSet ds2 = Conexion.Ejecutar(sql); if (ds.Tables[0].Rows.Count > 0) { this.label2.Visible = true; this.lblMejorOpcion.Visible = true; this.btnUtilizarGuia.Visible = true; this.lblMejorOpcion.Text = ds.Tables[0].Rows[0]["NombrePaqueteria"].ToString(); this.lblEstado.Text = "Estado: " + ds2.Tables[0].Rows[0]["Estado"].ToString(); this.lblMunicipio.Text = "Municipio: " + ds2.Tables[0].Rows[0]["Municipio"].ToString(); this.lblMejorOpcion.Left = (int)((this.Size.Width / 2) - (this.lblMejorOpcion.Size.Width / 2)); this.lblEstado.Left = (int)((this.Size.Width / 2) - (this.lblEstado.Size.Width / 2)); this.lblMunicipio.Left = (int)((this.Size.Width / 2) - (this.lblMunicipio.Size.Width / 2)); this.lblNoEncontrado.Visible = false; this.lblEstado.Visible = true; this.lblMunicipio.Visible = true; this.btnUtilizarGuia.Focus(); } else { this.label2.Visible = false; this.lblMejorOpcion.Visible = false; this.lblNoEncontrado.Visible = true; this.btnUtilizarGuia.Visible = false; this.lblEstado.Visible = false; this.lblMunicipio.Visible = false; } ds.Clear(); } }
private void btnUtilizarGuias_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.cbTipoGuias.Text)) { Mensajes.NoExito("Selecciona un tipo de guía a utilizar."); return; } if (this.numCantGuias.Value != 0) { int cantGuias = Funciones.TraerCantidadGuias(wPrincipal.lblMejorOpcion.Text, this.cbTipoGuias.Text); cantGuias -= (int)this.numCantGuias.Value; sql = string.Format("UPDATE Inv_guias SET CantGuias={0} WHERE Paqueteria='{1}' AND TipoGuia='{2}';", cantGuias, wPrincipal.lblMejorOpcion.Text, this.cbTipoGuias.Text); ds = Conexion.Ejecutar(sql); this.Close(); Mensajes.Exito("Se han descontado las guías del inventario"); } }
private void btnAgregar_Click(object sender, EventArgs e) { string paqueteria = this.cbPaqueteria.Text; string tipoGuia = this.cbTipoGuia.Text; if (string.IsNullOrEmpty(paqueteria) || string.IsNullOrEmpty(tipoGuia)) { Mensajes.NoExito("Selecciona una paquetería y el tipo de guía para añadir al inventario."); return; } int cantidad = Funciones.TraerCantidadGuias(paqueteria, tipoGuia); cantidad += (int)nCantidad.Value; string sql = string.Format("UPDATE Inv_guias SET CantGuias={0} WHERE Paqueteria='{1}' AND TipoGuia='{2}';", cantidad, paqueteria, tipoGuia); ds = Conexion.Ejecutar(sql); ds.Clear(); this.lblCantidad.Text = Funciones.TraerCantidadGuias(paqueteria, tipoGuia).ToString(); }
private void txtCodigoPostal_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { string sql; //Limpiamos los datos this.LimpiarFormulario(); bool isNumeric = int.TryParse(this.txtCodigoPostal.Text.Trim(), out int codigoPostal); if (isNumeric == false) { Mensajes.NoExito("Inserte un código postal válido"); return; } this.cbMunicipio.Enabled = true; sql = string.Format("SELECT Estado, Municipio FROM Codigos_postales WHERE CodigoPostal={0}", codigoPostal); ds = Conexion.Ejecutar(sql); if (ds.Tables[0].Rows.Count == 0) { ds.Clear(); Mensajes.NoExito("No existe el código postal"); return; } this.cbMunicipio.Text = ds.Tables[0].Rows[0]["Municipio"].ToString(); this.cbEstado.Text = ds.Tables[0].Rows[0]["Estado"].ToString(); ds.Clear(); sql = string.Format("SELECT Paqueteria, Ocurre FROM Paqueterias_codigos WHERE CodigoPostal={0}", codigoPostal); ds = Conexion.Ejecutar(sql); foreach (DataRow paqueteria in ds.Tables[0].Rows) { int nuevaFila = dgvPaqueterias.Rows.Add(); DataGridViewRow fila = dgvPaqueterias.Rows[nuevaFila]; fila.Cells["Paqueteria"].Value = paqueteria["Paqueteria"].ToString(); fila.Cells["Ocurre"].Value = paqueteria["Ocurre"].ToString(); } ds.Clear(); } }
private void btnGuardarCodigo_Click(object sender, EventArgs e) { string sql; //Validamos que el código postal sea válido bool isNumeric = int.TryParse(this.txtCodigoPostal.Text.Trim(), out int codigoPostal); if (isNumeric == false) { Mensajes.NoExito("Inserte un código postal válido"); return; } //Validamos que haya seleccionado un estado if (string.IsNullOrEmpty(this.cbEstado.Text)) { Mensajes.NoExito("Seleccione un estado"); return; } //Validamos que haya seleccionado o escrito una ciudad if (string.IsNullOrWhiteSpace(this.cbMunicipio.Text)) { Mensajes.NoExito("Seleccione o escriba una ciudad"); return; } //Validamos que tenga al menos 1 paquetería if (dgvPaqueterias.Rows.Count == 0) { Mensajes.NoExito("El código postal al menos debe de tener una paquetería"); return; } //Recorremos el datagridview para validar que no haya datos vacíos foreach (DataGridViewRow fila in dgvPaqueterias.Rows) { if (fila.Cells["Paqueteria"].Value == null) { Mensajes.NoExito("No puede haber datos vacíos"); return; } if (fila.Cells["Ocurre"].Value == null) { fila.Cells["Ocurre"].Value = false; } } string estado = this.cbEstado.Text; string municipio = this.cbMunicipio.Text.Trim().ToUpper(); DialogResult respuesta = DialogResult.None; //Validamos que no haya sido registrado ya el código postal sql = string.Format("SELECT Id FROM Codigos_postales WHERE CodigoPostal={0};", codigoPostal); ds = Conexion.Ejecutar(sql); if (ds.Tables[0].Rows.Count > 0) { ds.Clear(); respuesta = Mensajes.Confirmar("¿Deseas actualizar los datos?"); if (respuesta == DialogResult.No) { return; } } sql = string.Format("SELECT Id FROM Ciudades WHERE Ciudad='{0}'", municipio); ds = Conexion.Ejecutar(sql); if (ds.Tables[0].Rows.Count == 0) { ds.Clear(); sql = string.Format("INSERT INTO Ciudades (Estado, Ciudad) VALUES('{0}', '{1}')", estado, municipio); ds = Conexion.Ejecutar(sql); } ds.Clear(); if (respuesta == DialogResult.Yes) { //Actualizamos el estado y municipio sql = string.Format("UPDATE Codigos_postales SET Estado='{0}', Municipio='{1}' WHERE CodigoPostal={2};", estado, municipio, codigoPostal); ds = Conexion.Ejecutar(sql); ds.Clear(); //Borramos la información primero sql = string.Format("DELETE FROM Paqueterias_codigos WHERE CodigoPostal={0}", codigoPostal); ds = Conexion.Ejecutar(sql); ds.Clear(); //Recorremos el datagridview para actualizar los datos de los métodos de envío foreach (DataGridViewRow fila in dgvPaqueterias.Rows) { string paqueteria = fila.Cells["Paqueteria"].Value.ToString(); bool ocurre = bool.Parse(fila.Cells["Ocurre"].Value.ToString()); //Insertamos las paqueterias que tiene ese codigo postal sql = string.Format("INSERT INTO Paqueterias_codigos (CodigoPostal, Paqueteria, Ocurre) VALUES ({0}, '{1}', {2});", codigoPostal, paqueteria, ocurre); ds = Conexion.Ejecutar(sql); ds.Clear(); } Mensajes.Exito("El código postal se ha actualizado correctamente"); this.txtCodigoPostal.Clear(); this.LimpiarFormulario(); return; //Salimos del proceso } //Insertamos los datos del codigo postal sql = string.Format("INSERT INTO Codigos_postales (CodigoPostal, Estado, Municipio) VALUES({0}, '{1}', '{2}')", codigoPostal, estado, municipio); ds = Conexion.Ejecutar(sql); ds.Clear(); //Recorremos el datagridview para insertar la información en la DB foreach (DataGridViewRow fila in dgvPaqueterias.Rows) { string paqueteria = fila.Cells["Paqueteria"].Value.ToString(); bool ocurre = bool.Parse(fila.Cells["Ocurre"].Value.ToString()); //Insertamos las paqueterias que tiene ese codigo postal sql = string.Format("INSERT INTO Paqueterias_codigos (CodigoPostal, Paqueteria, Ocurre) VALUES ({0}, '{1}', {2});", codigoPostal, paqueteria, ocurre); ds = Conexion.Ejecutar(sql); ds.Clear(); } Mensajes.Exito("El código postal se ha registrado correctamente"); this.txtCodigoPostal.Clear(); this.LimpiarFormulario(); }