Пример #1
0
        public override void CopyFrom(YqlNode source)
        {
            base.CopyFrom(source);
            var castedSource = (YqlObjectActionNode)source;

            this.TargetObject     = YqlNode.CloneIfNotNull(castedSource.TargetObject);
            this.TargetObjectType = castedSource.TargetObjectType;
        }
Пример #2
0
        internal static void RegisterXmlElements(YamsterModelType modelType,
                                                 Type classType, Type enumType)
        {
            if (!typeof(YqlPropertyNode).IsAssignableFrom(classType))
            {
                throw new ArgumentException("The classType must inherit from YqlPropertyNode");
            }
            if (!enumType.IsEnum)
            {
                throw new ArgumentException("The enumType must be an enum");
            }

            foreach (Enum enumValue in Enum.GetValues(enumType))
            {
                // E.g. "Message_UserIdRepliedTo"
                string xmlName = modelType.ToString() + "_" + enumValue.ToString();
                YqlNode.RegisterXmlElement(classType, xmlName);
            }
        }
Пример #3
0
        static public Type GetModelClass(YamsterModelType modelType)
        {
            switch (modelType)
            {
            case YamsterModelType.Group:
                return(typeof(YamsterGroup));

            case YamsterModelType.Thread:
                return(typeof(YamsterThread));

            case YamsterModelType.Message:
                return(typeof(YamsterMessage));

            case YamsterModelType.User:
                return(typeof(YamsterUser));

            default:
                throw new NotSupportedException("Unsupported model type: " + modelType.ToString());
            }
        }
Пример #4
0
 protected YqlPropertyNode(PropertyMapping mapping, YamsterModelType targetObjectType, YqlNode targetObject)
     : base(targetObjectType, targetObject)
 {
     this.Mapping = mapping;
 }
Пример #5
0
 private YqlCompiler(YamsterModelQuery query)
 {
     this.ModelType            = query.ModelType;
     ExecutionContextParameter = Expression.Parameter(typeof(YqlExecutionContext), "context");
 }
Пример #6
0
 protected YqlObjectActionNode(YamsterModelType targetObjectType, YqlNode targetObject)
 {
     this.TargetObject     = targetObject;
     this.TargetObjectType = targetObjectType;
 }