private void LblBuscar_Click(object sender, EventArgs e) { try { #region Validations var filtersSetted = false; var exceptionMessage = string.Empty; if (!TypesHelper.IsEmpty(txtCodigo.Text)) { filtersSetted = true; if (!TypesHelper.IsNumeric(txtCodigo.Text)) { exceptionMessage += Environment.NewLine + "El código debe ser numérico."; } } if (!TypesHelper.IsEmpty(txtDesc.Text)) { filtersSetted = true; } if (!TypesHelper.IsEmpty(txtCantidad.Text)) { filtersSetted = true; if (!TypesHelper.IsNumeric(txtCantidad.Text)) { exceptionMessage += Environment.NewLine + "La cantidad debe ser numérica."; } } if (!TypesHelper.IsEmpty(txtNombre.Text)) { filtersSetted = true; } if (!filtersSetted) { exceptionMessage = "No se puede realizar la busqueda ya que no se informó ningún filtro"; } if (!TypesHelper.IsEmpty(exceptionMessage)) { throw new Exception(exceptionMessage); } #endregion var filters = new HistoryReputacionFilters { Codigo = (!TypesHelper.IsEmpty(txtCodigo.Text)) ? Convert.ToInt32(txtCodigo.Text) : (int?)null, Descripcion = (!TypesHelper.IsEmpty(txtDesc.Text)) ? txtDesc.Text : null, Cantidad = (!TypesHelper.IsEmpty(txtCantidad.Text)) ? Convert.ToInt32(txtCantidad.Text) : (int?)null, Nombre = (!TypesHelper.IsEmpty(txtNombre.Text)) ? txtNombre.Text : null }; var historyReputacion = (cBExact.Checked) ? CalificacionPersistance.getAllCalifiedToMeByParameters(SessionManager.CurrentUser, filters) : CalificacionPersistance.getAllCalifiedToMeByParametersLike(SessionManager.CurrentUser, filters); if (historyReputacion == null || historyReputacion.Count == 0) { throw new Exception("No se encontraron calificaciones según los filtros informados."); } RefreshSources(historyReputacion); } catch (Exception ex) { MessageBox.Show(ex.Message, "Atención"); ClearFiltersAndTable(); } }
public static List <HistoryReputacion> getAllCalifiedToMeByParametersLike(Usuario user, HistoryReputacionFilters filters) { var param = new List <SPParameter> { new SPParameter("idUsuario", user.ID), new SPParameter("Codigo_Calificacion", filters.Codigo ?? (object)DBNull.Value), new SPParameter("Descripcion", filters.Descripcion ?? (object)DBNull.Value), new SPParameter("Cantidad_Estrellas", filters.Cantidad ?? (object)DBNull.Value), new SPParameter("Nombre", filters.Nombre ?? (object)DBNull.Value) }; var sp = new StoreProcedure(DataBaseConst.Calificacion.SPGetHistoryCalificacionesRecibidasByParametersLike, param); return(sp.ExecuteReader <HistoryReputacion>()); }