/// <summary> /// Método responsável pela busca de mensagens recebidas considerando o filtro informado como parâmetros de busca. /// </summary> /// <param name="filter">Objeto do tipo <see cref="ReceivedMessageFilter"/> contendo os parâmetros usados para a busca.</param> /// <returns>Objeto do tipo <see cref="ReceivedMessageResponse"/> contendo as mensagens encontradas na busca.</returns> public async Task <ReceivedMessageResponse> SearchReceivedMessages(ReceivedMessageFilter filter) { UsernameOrPasswordEmpty(); try { String url = this.SearchReceivedMessagesUrl + "/" + filter.Start.ToString(Properties.Resources.DATE_PATTERN) + "/" + filter.End.ToString(Properties.Resources.DATE_PATTERN) + ""; Dictionary <string, string> urlParams = new Dictionary <string, string>(); if (filter.DefinesReferenceMessageId) { urlParams.Add("mtId", filter.ReferenceMessageId); } if (filter.DefinesMobile) { urlParams.Add("mobile", filter.Mobile); } ReceivedMessageResponse result = await this.CallGetAsync <ReceivedMessageResponse>(url, urlParams); return(result); } catch (Exception ex) { throw new ZenviaException("Falha no envio da requisição: " + ex.Message, ex); } }
public Task <bool> Any(Action <ReceivedMessageFilter> apply = default, CancellationToken cancellationToken = default) { var messageFilter = new ReceivedMessageFilter(); apply?.Invoke(messageFilter); return(Any(message => messageFilter.Any(message), cancellationToken)); }
public IAsyncEnumerable <IReceivedMessage> SelectAsync(Action <ReceivedMessageFilter> apply, CancellationToken cancellationToken = default) { var messageFilter = new ReceivedMessageFilter(); apply?.Invoke(messageFilter); return(SelectAsync(message => messageFilter.Any(message), cancellationToken)); }
public Task <bool> Any <T>(FilterDelegate <IReceivedMessage <T> > filter, CancellationToken cancellationToken = default) where T : class { var messageFilter = new ReceivedMessageFilter(); messageFilter.Includes.Add(filter); return(Any(message => messageFilter.Any(message), cancellationToken)); }
public IAsyncEnumerable <IReceivedMessage <T> > SelectAsync <T>(FilterDelegate <IReceivedMessage <T> > filter, CancellationToken cancellationToken = default) where T : class { var messageFilter = new ReceivedMessageFilter(); messageFilter.Includes.Add(filter); return(SelectAsync(message => messageFilter.Any(message), cancellationToken).Select <IReceivedMessage, IReceivedMessage <T> >()); }