public static void ReflectionSet(object data, string pro, object value) { PropertyInfo prop = data.GetType().GetProperty(pro, BindingFlags.Public | BindingFlags.Instance); if (null != prop && prop.CanWrite) { var fieldType = prop.PropertyType; if (fieldType == typeof(string)) { prop.SetValue(data, value, null); } else { var targetType = IsNullableType(prop.PropertyType) ? Nullable.GetUnderlyingType(prop.PropertyType) : prop.PropertyType; if (targetType == typeof(float)) { value = Convert.ChangeType(PrimitiveConvert.StringToFloat(value), targetType); } else { value = Convert.ChangeType(PrimitiveConvert.StringToInt(value), targetType); } prop.SetValue(data, value, null); } } }
public static bool IsHavePermission(string feature, string permission) { if (LoginUser.LoaiNguoiDung == Define.LoaiNguoiDung.Admin.ToString()) { return(true); } if (Permission.ContainsKey(feature)) { var userPermission = PrimitiveConvert.StringToEnum <Define.PermissionEnum>(Permission[feature]); var inputPermission = PrimitiveConvert.StringToEnum <Define.PermissionEnum>(permission); return(userPermission >= inputPermission); } return(true); }