/// <summary> /// Adiciona uma query /// </summary> /// <param name="query"><see cref="Queryable"/> a ser adicionado</param> /// <param name="callback">Função de callback da consulta</param> /// <param name="bindStrategy">Estratégia de binding</param> /// <param name="objectCreator">Criador de objetos</param> public MultiQueryable Add(Queryable query, BindableQueryCallBack callback, IQueryResultBindStrategy bindStrategy, IQueryResultObjectCreator objectCreator) { bindStrategy.Require("bindStrategy").NotNull(); objectCreator.Require("objectCreator").NotNull(); _queries.Add(query); if (callback != null) { var wrapper = new BindableQueryCallBackWrapper(); wrapper.QueryCallBack = callback; wrapper.BindStrategy = bindStrategy; wrapper.ObjectCreator = objectCreator; _callbacks.Add(_queries.Count - 1, wrapper); } return(this); }
/// <summary> /// Remove callback do wrapper /// </summary> public override void RemoveCallBack() { _queryCallBack = null; }