/// <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> public MultiQueryable Add(Queryable query, QueryCallBack callback) { _queries.Add(query); if (callback != null) { QueryCallBackWrapper wrapper = new QueryCallBackWrapper(); wrapper.QueryCallBack = callback; _callbacks.Add(_queries.Count - 1, wrapper); } return(this); }
public MultiQueryable Add <TModel>(Queryable query, QueryCallBack <TModel> callback, QueryFailedCallBack failedCallBack, IQueryResultBindStrategy bindStrategy, IQueryResultObjectCreator objectCreator) { _queries.Add(query); if (bindStrategy == null && objectCreator == null) { var ts = TypeBindStrategyCache.GetItem(typeof(TModel), t => new QueryResultObjectCreator(t)); objectCreator = ts; bindStrategy = ts; } if (bindStrategy == null) { bindStrategy = new TypeBindStrategy(typeof(TModel), objectCreator); } if (callback != null) { QueryCallBackWrapper <TModel> wrapper = new QueryCallBackWrapper <TModel>(); wrapper.QueryCallBack = callback; wrapper.QueryFailedCallBack = failedCallBack; 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; }
/// <summary> /// Remove callback do wrapper /// </summary> public virtual void RemoveCallBack() { _queryCallBack = null; _queryFailedCallBack = null; }
/// <summary> /// Adiciona uma query /// </summary> /// <typeparam name="TModel">Tipo de retorno</typeparam> /// <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 <TModel>(Queryable query, QueryCallBack <TModel> callback, IQueryResultBindStrategy bindStrategy, IQueryResultObjectCreator objectCreator) { return(Add <TModel>(query, callback, null, bindStrategy, objectCreator)); }
/// <summary> /// Adiciona uma query /// </summary> /// <typeparam name="TModel">Tipo de retorno</typeparam> /// <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> public MultiQueryable Add <TModel>(Queryable query, QueryCallBack <TModel> callback, IQueryResultBindStrategy bindStrategy) { return(Add <TModel>(query, callback, null, bindStrategy, null)); }
/// <summary> /// Adiciona uma query /// </summary> /// <typeparam name="TModel">Tipo de retorno</typeparam> /// <param name="query"><see cref="Queryable"/> a ser adicionado</param> /// <param name="callback">Função de callback da consulta</param> /// <param name="failedCallBack"></param> public MultiQueryable Add <TModel>(Queryable query, QueryCallBack <TModel> callback, QueryFailedCallBack failedCallBack) { return(Add <TModel>(query, callback, failedCallBack, null, null)); }