public void ReadAllDeliveriesWithMessageDetail() { Deliveries deliveries = new Deliveries(Login); StartTimer("Reading all Deliveries"); deliveryFilter filter = GetDeliveryDateFilter(); readDeliveries doptions = new readDeliveries() { includeContent = false }; List <deliveryObject> list = ReadDeliveriesInternal(deliveries, filter, doptions); Console.WriteLine(EndTimer().ToString()); Console.WriteLine("{0} deliveries read", list.Count); if (list.Count > 0) { Messages messages = new Messages(Login); foreach (var item in list) // get message details for each delivery { messageFilter msgFilter = new messageFilter() { id = new string[] { item.messageId } }; readMessages moptions = new readMessages() { includeContent = true }; List <messageObject> message = messages.Read(msgFilter, moptions); WriteDeliveryAndMessageToConsole(item, message.FirstOrDefault()); } } }
/// <summary> /// Reads contacts from bronto using a filter and the specified return fields and information /// </summary> /// <param name="filter">The filter to use when reading</param> /// <param name="options">The fields and information to return. Use the extension methods on the readMessages class to specify options</param> /// <returns>the list of contacts</returns> public async Task <List <messageObject> > ReadAsync(messageFilter filter, readMessages options = null) { if (filter == null) { throw new ArgumentNullException("filter", "The filter must be specified. Alternatively call the Read() function"); } using (BrontoSoapPortTypeClient client = BrontoSoapClient.Create(Timeout)) { readMessages c = options ?? new readMessages(); c.filter = filter; c.pageNumber = 1; List <messageObject> list = new List <messageObject>(); readMessagesResponse response = await client.readMessagesAsync(session.SessionHeader, c); messageObject[] result = response.@return; if (result != null) { list.AddRange(result); } while (result != null && result.Length > 0) { c.pageNumber += 1; response = await client.readMessagesAsync(session.SessionHeader, c); result = response.@return; if (result != null) { list.AddRange(result); } } return(list); } }
private string GetTemplateId(string messageName) { try { if (!this.templates.ContainsKey(messageName)) { List <stringValue> templateVals = new List <stringValue>(); templateVals.Add(new stringValue { value = messageName, @operator = filterOperator.EqualTo, operatorSpecified = true }); var filter = new messageFilter { name = templateVals.ToArray() }; var brontoTemplates = wrapper.ReadMessages(filter); if (brontoTemplates != null && brontoTemplates.Length > 0) { this.templates.Add(messageName, brontoTemplates[0].id); } else { return(null); } } return(this.templates[messageName]); } catch (Exception e) { Logger.Error(e); throw e; } }
public messageObject[] ReadMessages(messageFilter filter) { return(api.readMessages(filter, false, 0)); }