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>());
        }