public virtual void GeraNovoGuid(T obj) { if (GConvert.IsGuidEmpty(obj.Id)) { obj.Id = Guid.NewGuid(); } }
private Usuario SetIdUsuarioEndereco(Usuario usuario) { foreach (Endereco endereco in usuario.Endereco) { if (GConvert.IsGuidEmpty(endereco.Id)) { endereco.IdUsuario = usuario.Id; endereco.Id = Guid.NewGuid(); } } return(usuario); }
public void SetNivelPermissao(int permissao) { var valueseEnum = Enum.GetValues(typeof(NivelPermissaoEnum)).Cast <int>(); if (valueseEnum.Contains(permissao)) { NivelPermissao = permissao; } else { NivelPermissao = GConvert.ToInt32(NivelPermissaoEnum.User); } }
public static Expression <Func <T, bool> > GetCriteria(string campo, object valor) { if (string.IsNullOrEmpty(campo)) { throw new Exception("Argumento invalido, o campo para busca deve ser preenchido!"); } if (valor is null) { valor = GConvert.ToString(valor); } ParameterExpression param = Expression.Parameter(typeof(T), "x"); // obtem tipo da propriedade Type type; var _propertyNames = campo.Split('.'); if (_propertyNames.Length > 1) { type = typeof(T).GetProperty(_propertyNames[0]).PropertyType.GetProperty(_propertyNames[1]).PropertyType; } else { type = typeof(T).GetProperty(campo, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance).PropertyType; } // cria Expression para o campo MemberExpression propertyExpression = Expression.PropertyOrField(param, campo); // cria Expression para o valor ConstantExpression valueExpression = Expression.Constant(Convert.ChangeType(valor, type), type); MethodInfo methodInfo; if (type == typeof(string)) { methodInfo = type.GetMethod("Contains", new[] { type }); } else { methodInfo = type.GetMethod("Equals", new[] { type }); } var predicate = Expression.Lambda <Func <T, bool> >( Expression.Call(propertyExpression, methodInfo, valueExpression) , param); return(predicate); }