private void frmProvProd_Load(object sender, EventArgs e) { Helper.llenarCbo(cboProducto, Producto.GetNames(), "nombre", "codigoProducto"); Helper.llenarCbo(cboProveedor, Proveedor.GetAllNames(), "fullname", "codigoProveedor"); if (editMode) { asociacion = new ProvXProd(prod, prov); try { cboProducto.SelectedValue = asociacion.prod; } catch { cboProducto.SelectedIndex = -1; } try { cboProveedor.SelectedValue = asociacion.prov; } catch { cboProveedor.SelectedIndex = -1; } txtTiempo.Text = asociacion.tiempo.ToString(); txtPrecio.Text = asociacion.precio.ToString(); btnSaveAsociacion.Text = "Guardar cambios"; Text = "Editando asociacion"; } else { btnDeleteAsociacion.Visible = false; } }
//Cuando el usuario selecciona algun producto de la lista intenta cargar todos los proveedores que esten // asociados al producto elegido private void cboProducto_SelectedIndexChanged(object sender, EventArgs e) { try { Helper.llenarCbo(cboProveedor, ProvXProd.GetAllProveedoresByProducto(int.Parse(cboProducto.SelectedValue.ToString())), "fullname", "codigoProveedor"); } catch {} }
//Al cargar la ventana llena el combobox con todos los productos. Si se esta editando, configura los valores // para que correspondan con el lote a editar. private void frmLote_Load(object sender, EventArgs e) { Helper.llenarCbo(cboProducto, ProvXProd.GetAllProd(), "nombre", "codProducto"); if (editMode) { lote = new Lote(idLote); cboProducto.SelectedValue = lote.codigoProducto; Helper.llenarCbo(cboProveedor, ProvXProd.GetAllProveedoresByProducto(lote.codigoProducto), "fullname", "codigoProveedor"); cboProveedor.SelectedValue = lote.codigoProveedor; txtCantidad.Text = lote.stockInicial.ToString(); txtFecha.Text = lote.fechaIngreso.ToString("dd-MM-yyyy"); this.Text += " - Id: " + lote.nroLote.ToString(); btnSaveLote.Text = "Guardar cambios"; } }
private void btnSaveAsociacion_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtPrecio.Text) || string.IsNullOrEmpty(txtTiempo.Text) || (cboProveedor.SelectedIndex == -1) || (cboProducto.SelectedIndex == -1)) { MessageBox.Show("Debes completar todos los campos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!editMode) { int prod = int.Parse(cboProducto.SelectedValue.ToString()); int prov = int.Parse(cboProveedor.SelectedValue.ToString()); if (ProvXProd.ExisteAsociacion(prod, prov)) { MessageBox.Show("Ya existe una asociacion entre este producto y este proveedor", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } new ProvXProd(prod, prov, int.Parse(txtTiempo.Text), decimal.Parse(txtPrecio.Text.Replace(".", ","))).save(true); var confirmResult = MessageBox.Show("Se ha guardado con éxito la asociacion! Desea agregar otra?", "Resultado", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { clean(); } else { form.frmProvsProds_Load(null, null); this.Close(); } } else { asociacion.prod = int.Parse(cboProducto.SelectedValue.ToString()); asociacion.prov = int.Parse(cboProveedor.SelectedValue.ToString()); asociacion.tiempo = int.Parse(txtTiempo.Text); asociacion.precio = decimal.Parse(txtPrecio.Text.Replace(".", ",")); asociacion.save(false); form.frmProvsProds_Load(null, null); this.Close(); } }
//Cuando cambia el texto (el usuario busca algo) se completa el combobox y muestra los valores encontrados private void txtBusquedaProducto_TextChanged(object sender, EventArgs e) { Helper.llenarCboBuscador(cboProducto, ProvXProd.GetAllProd(txtBusquedaProducto.Text), "nombre", "codProducto"); }
//Carga las columnas de la gridView, escondiendo en el proceso las que contienen los id public void frmProvsProds_Load(object sender, EventArgs e) { gridProvProd.DataSource = ProvXProd.GetAllProvProd(); gridProvProd.Columns[0].Visible = false; gridProvProd.Columns[1].Visible = false; }