public void NotifyAfterUpdate(YamsterModel model) { changedModels.Add(new ChangedModel() { Model = model, ChangeType = YamsterModelChangeType.PropertyChanged }); }
public void NotifyAfterAdd(YamsterModel model) { changedModels.Add(new ChangedModel() { Model = model, ChangeType = YamsterModelChangeType.Added }); }
protected void NotifyViewChanged(YamsterViewChangeType changeType, YamsterModel model) { if (ViewChanged != null) { ViewChanged(this, new ViewChangedEventArgs(changeType, model)); } }
protected Expression CompileTargetExpression(YqlCompiler compiler, out YqlCompiledNode[] compiledArgs) { Type targetType = YamsterModel.GetModelClass(this.TargetObjectType); Expression targetExpression; if (TargetObject != null) { var compiledTargetObject = compiler.CompileNode(TargetObject); if (compiledTargetObject.Expression.Type != targetType) { ReportError("The target object is " + compiledTargetObject.Expression.Type.Name + ", which cannot be converted to " + targetType.Name); } targetExpression = compiledTargetObject.Expression; compiledArgs = new[] { compiledTargetObject }; } else { if (compiler.ModelType != TargetObjectType) { ReportError("This expression attempts to retrieve a {0} property from the" + " current context item, which is a {1} object", this.TargetObjectType, compiler.ModelType); } switch (compiler.ModelType) { case YamsterModelType.Thread: targetExpression = Expression.Property(compiler.ExecutionContextParameter, YqlExecutionContext.Info_Thread); break; case YamsterModelType.Message: targetExpression = Expression.Property(compiler.ExecutionContextParameter, YqlExecutionContext.Info_Message); break; default: throw new NotSupportedException(); } compiledArgs = new YqlCompiledNode[0]; } return(targetExpression); }
public ViewChangedEventArgs(YamsterViewChangeType changeType, YamsterModel model) { this.ChangeType = changeType; this.Model = model; }