private void btnConsultar_Click(object sender, EventArgs e) { // Dictionary: Representa una colección de claves y valores. Dictionary <string, object> parametros = new Dictionary <string, object>(); DateTime fechaDesde; DateTime fechaHasta; if (DateTime.TryParse(txtFechaDesde.Text, out fechaDesde) && DateTime.TryParse(txtFechaHasta.Text, out fechaHasta)) { parametros.Add("fechaDesde", txtFechaDesde.Text); parametros.Add("fechaHasta", txtFechaHasta.Text); } if (!string.IsNullOrEmpty(cboEstados.Text)) { var idEstado = cboEstados.SelectedValue.ToString(); parametros.Add("idEstado", idEstado); } if (!string.IsNullOrEmpty(cboAsignadoA.Text)) { var asignadoA = cboAsignadoA.SelectedValue.ToString(); parametros.Add("idUsuarioAsignado", asignadoA); } if (!string.IsNullOrEmpty(cboPrioridades.Text)) { var prioridad = cboPrioridades.SelectedValue.ToString(); parametros.Add("idPrioridad", prioridad); } if (!string.IsNullOrEmpty(cboCriticidades.Text)) { var criticidad = cboCriticidades.SelectedValue.ToString(); parametros.Add("idCriticidad", criticidad); } if (!string.IsNullOrEmpty(cboProductos.Text)) { var producto = cboProductos.SelectedValue.ToString(); parametros.Add("idProducto", producto); } IList <Bug> listadoBugs = bugService.ConsultarBugsConFiltros(parametros); dgvBugs.DataSource = listadoBugs; if (dgvBugs.Rows.Count == 0) { MessageBox.Show("No se encontraron coincidencias para el/los filtros ingresados", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } }