private void btnFiltrar_Click(object sender, EventArgs e) { //lo siguiente no funciona porque se ejecuta antes de que se actualize cuál es el objeto actual en el currency manager //oCliente = (Modelo_Entidades.Cliente)bsClientes.Current; oCliente = (Modelo_Entidades.Cliente)cbCliente.SelectedItem; //oChofer = (Modelo_Entidades.Chofer)bsChoferes.Current; oChofer = (Modelo_Entidades.Chofer)cbChofer.SelectedItem; bsTransportes.DataSource = oCCUGTransportes.ObtenerTransportes(this.cbTipo_Matricula.Text, this.tbNum_Matricula.Text, this.oCliente.nombre, this.oChofer.nombre); dgvTransportes.DataSource = bsTransportes; //MessageBox.Show(oCliente.nombre + " y " + oChofer.nombre + " fueron seleccionados.", "Informe", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void btnEliminar_Click(object sender, EventArgs e) { oChofer = (Modelo_Entidades.Chofer)bsChoferes.Current; if (oChofer == null) { MessageBox.Show("Primero debe elegir un chofer.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { DialogResult oDialogResult = MessageBox.Show("¿Está seguro que desea eliminar el chofer seleccionado?", "Confirmar eliminar.", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (oDialogResult == DialogResult.Yes) { try { if (ComprobarRelaciones()) { bool resultado = oCCUGChoferes.Eliminar(oChofer); if (resultado) { MessageBox.Show("Chofer eliminado correctamente.", "Resultado.", MessageBoxButtons.OK, MessageBoxIcon.Information); ActualizarDGVChoferes(); } else { MessageBox.Show("El Chofer no se pudo eliminar.", "Resultado.", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("El Chofer no se pudo eliminar porque estuvo involcrado en una operación.", "Resultado.", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (EntitySqlException ex) { MessageBox.Show("" + ex, "Excepción.", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void btnGuardar_Click(object sender, EventArgs e) { if (Modo == "Alta") { if (ValidarObligatorios()) { oTransporte = new Modelo_Entidades.Transporte(); oChofer = (Modelo_Entidades.Chofer)bsChoferes.Current; oTransporte.tipo_matricula = this.cbTipoMatricula.SelectedIndex; oTransporte.nro_matricula = this.tbNumMatricula.Text; oTransporte.tara = Convert.ToDouble(this.msktbTara.Text); oTransporte.carga_maxima = Convert.ToDouble(this.msktbCargaMaxima); foreach (object item in clbChoferes.CheckedItems)//por cada objeto "item" de la lista de objetos checkeados en clbchoferes { oTransporte.Choferes.Add((Modelo_Entidades.Chofer)item);//agrego el item, después de transformarlo en Chofer, a la colección } bool resultado; try { if (oCCUGTransportes.ObtenerTransporte(this.cbTipoMatricula.Text, this.tbNumMatricula.Text) == null) { resultado = oCCUGTransportes.Agregar(oTransporte); if (resultado) { MessageBox.Show("Guardado con éxito", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Information); frmTransportes.ObtenerInstancia().ActualizarDGVTransportes(); this.Close(); } else { MessageBox.Show("No guardado.", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } else { MessageBox.Show("No se pudo guardar el transporte porque ya existe uno con el tipo y número de matrícula ingresados", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (System.Data.EntitySqlException ex) { MessageBox.Show("No se ha podido guardar el nuevo cliente: " + ex + ".", "Error de base de datos.", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { if (ValidarObligatorios()) { oChofer = (Modelo_Entidades.Chofer)bsChoferes.Current; oTransporte.tipo_matricula = this.cbTipoMatricula.SelectedIndex; oTransporte.nro_matricula = this.tbNumMatricula.Text; oTransporte.Choferes.Clear(); oTransporte.tara = Convert.ToDouble(this.msktbTara.Text); oTransporte.carga_maxima = Convert.ToDouble(this.msktbCargaMaxima); foreach (object item in clbChoferes.CheckedItems)//por cada objeto "item" de la lista de objetos checkeados en clbchoferes { oTransporte.Choferes.Add((Modelo_Entidades.Chofer)item);//agrego el item, después de transformarlo en Chofer, a la colección } bool resultado; try { resultado = oCCUGTransportes.Modificar(oTransporte); if (resultado) { MessageBox.Show("Actualizado con éxito", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Information); frmTransportes.ObtenerInstancia().ActualizarDGVTransportes(); this.Close(); } else { MessageBox.Show("No actualizado.", "Resultado", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } catch (System.Data.EntitySqlException ex) { MessageBox.Show("No se ha podido actualizar el transporte: " + ex + ".", "Error de base de datos.", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void btnModificar_Click(object sender, EventArgs e) { oChofer = (Modelo_Entidades.Chofer)bsChoferes.Current; if (oChofer == null) { MessageBox.Show("Primero debe elegir un chofer.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { frmChofer ofrmChofer = new frmChofer(oChofer); ofrmChofer.Show(); } }
private void frmTransporte_Load(object sender, EventArgs e) { bsChoferes.DataSource = oCCUGChoferes.ObtenerChoferes(); foreach (Modelo_Entidades.Chofer oChoferActual in bsChoferes) { clbChoferes.Items.Add(oChoferActual); } if (Modo == "Modificacion") { //bsChoferes.Current = oTransporte.Chofer;//seleccionar el chofer en el dgv this.cbTipoMatricula.Text = oTransporte.Tipo_Matricula.descripcion; this.tbNumMatricula.Text = oTransporte.nro_matricula; this.msktbTara.Text = Convert.ToString(oTransporte.tara); this.msktbCargaMaxima.Text = oTransporte.carga_maxima.ToString(); this.cbTipoMatricula.Enabled = false; this.tbNumMatricula.Enabled = false; for (int i = 0; i < clbChoferes.Items.Count; i++) //para i desde 0 hasta la cantidad de items en clbCchoferes(todos) { oChofer = (Modelo_Entidades.Chofer)clbChoferes.Items[i];//mover el cliente con el índice i a oChofer foreach (Modelo_Entidades.Chofer oChoferActual in oTransporte.Choferes)//por cada uno de los choferes en la colección clientes de oTransporte { if (oChoferActual.nro_chofer == oChofer.nro_chofer)// si el número del chofer actual es el mismo que el del chofer del checked list box seleccionado actualmente (i) { clbChoferes.SetItemChecked(i, true);//entonces establezco como checkeado el chofer de índice i } } } } }