Example #1
0
        /// <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);
            }
        }
Example #2
0
        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));
        }
Example #3
0
        public IAsyncEnumerable <IReceivedMessage> SelectAsync(Action <ReceivedMessageFilter> apply, CancellationToken cancellationToken = default)
        {
            var messageFilter = new ReceivedMessageFilter();

            apply?.Invoke(messageFilter);

            return(SelectAsync(message => messageFilter.Any(message), cancellationToken));
        }
Example #4
0
        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));
        }
Example #5
0
        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> >());
        }