Esempio n. 1
0
        public static FedKey CreateFedKey(FedKeyType fedkeytype, object value, Type type = null)
        {
            if (null != type && !_typeMap.ContainsKey(type))
            {
                throw new ArgumentException("Type {0} is not a supported federation key type", type.Name);
            }

            if (value.GetType() == typeof(string))
            {
                return(CreateFedKey(fedkeytype, (string)value));
            }

            switch (fedkeytype)
            {
            case FedKeyType.fedkeytypeInt:
                return(new FedKey(Convert.ToInt32(value)));

            case FedKeyType.fedkeytypeBigInt:
                return(new FedKey(Convert.ToInt64(value)));

            case FedKeyType.fedkeytypeGuid:
                return(new FedKey((Guid)value));

            case FedKeyType.fedkeytypeVarbin:
                return(new FedKey((System.Byte[])value));

            default:
                return(null);
            }
        }
Esempio n. 2
0
        public static FedKey CreateFedKey(object value)
        {
            if (value == null)
            {
                return(null);
            }

            Type type = value.GetType();

            if (!_typeMap.ContainsKey(type))
            {
                throw new ArgumentException("Type {0} is not a supported federation key type", type.Name);
            }

            FedKeyType fedkeytype = _typeMap[type];

            switch (fedkeytype)
            {
            case FedKeyType.fedkeytypeInt:
                return(new FedKey(Convert.ToInt32(value)));

            case FedKeyType.fedkeytypeBigInt:
                return(new FedKey(Convert.ToInt64(value)));

            case FedKeyType.fedkeytypeGuid:
                return(new FedKey((Guid)value));

            case FedKeyType.fedkeytypeVarbin:
                return(new FedKey((System.Byte[])value));

            default:
                return(null);
            }
        }
Esempio n. 3
0
        public static FedKey CreateFedKey(FedKeyType fedkeytype, string value)
        {
            switch (fedkeytype)
            {
            case FedKeyType.fedkeytypeInt:
                int ivalue;
                if (int.TryParse(value, out ivalue))
                {
                    return(new FedKey(ivalue));
                }
                break;

            case FedKeyType.fedkeytypeBigInt:
                long lvalue;
                if (long.TryParse(value, out lvalue))
                {
                    return(new FedKey(lvalue));
                }
                break;

            case FedKeyType.fedkeytypeGuid:
                Guid giudvalue;
                if (Guid.TryParse(value, out giudvalue))
                {
                    return(new FedKey(giudvalue));
                }
                break;

            case FedKeyType.fedkeytypeVarbin:
                return(new FedKey(value.ToByteArray()));

            default:
                return(null);
            }

            return(null);
        }