Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
 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);
 }