예제 #1
0
        public static void SetVariable(string ProductName, string RoleName,
                                       string ModuleName, string VarName, object VarValue)
        {
            RoleVariable Var = new RoleVariable();

            Var.ProductName = ProductName;
            Var.RoleName    = RoleName;
            Var.ModuleName  = ModuleName;
            Var.VarName     = VarName;
            Var.VarValue    = string.Empty;
            if (VarValue == null)
            {
                Var.BinValue = null;
            }
            else
            {
                Type tp = VarValue.GetType();
                if (tp == typeof(Bitmap) ||
                    tp == typeof(Image))
                {
                    Helper.ConvertImageToByteArray((Image)VarValue);
                    Var.BinValue = Helper.ConvertImageToByteArray(
                        (Image)VarValue);
                }
                else if (tp == typeof(byte[]))
                {
                    Var.BinValue = (byte[])VarValue;
                }
                else
                {
                    Var.VarValue = BaseUtility.ConvertToString(VarValue);
                }
            }
            Var.Save();
        }
예제 #2
0
        public static TVar GetVariable <TVar>(string ProductName, string RoleName,
                                              string ModuleName, string VarName, TVar DefaultValue)
        {
            RoleVariable Var = new RoleVariable();

            Var.ProductName = ProductName;
            Var.RoleName    = RoleName;
            Var.ModuleName  = ModuleName;
            Var.VarName     = VarName;

            if (!Var.LoadEntity(false))
            {
                return(DefaultValue);
            }

            Type tp = typeof(TVar);

            if (tp == typeof(Image))
            {
                if (Var.BinValue == null)
                {
                    return((TVar)(object)null);
                }
                else
                {
                    return((TVar)(object)Helper.ConvertByteArrayToImage(
                               Var.BinValue));
                }
            }
            else if (tp == typeof(byte[]))
            {
                return((TVar)(object)Var.BinValue);
            }
            else
            {
                return(BaseUtility.ConvertFromString <TVar>(
                           (string)Var.VarValue));
            }
        }
예제 #3
0
 public void SetRoleVariable(string ProductName, string RoleName,
                             string ModuleName, string VarName, object Value)
 {
     RoleVariable.SetVariable(ProductName, RoleName, ModuleName, VarName, Value);
 }
예제 #4
0
 public TVar GetRoleVariable <TVar>(string ProductName, string RoleName,
                                    string ModuleName, string VarName, TVar DefaultValue)
 {
     return(RoleVariable.GetVariable <TVar>(ProductName, RoleName,
                                            ModuleName, VarName, DefaultValue));
 }