public EventSearchResponse Build(string xmlString) { this.Validate(xmlString); var res = new EventSearchResponse(this.Context); var doc = new XmlDocument(); doc.LoadXml(xmlString); //TODO: fill in proper logic here.. //toReturn.Id = long.Parse(doc.GetElementsByTagName("id")[0].InnerText); //toReturn.Title = doc.GetElementsByTagName("title")[0].InnerText; //toReturn.Description = doc.GetElementsByTagName("description")[0].InnerText; ; //toReturn.StartDateTime = DateTime.Parse(doc.GetElementsByTagName("start_date")[0].InnerText); //toReturn.EndDateTime = DateTime.Parse(doc.GetElementsByTagName("end_date")[0].InnerText); //toReturn.Created = DateTime.Parse(doc.GetElementsByTagName("created")[0].InnerText); //toReturn.Modified = DateTime.Parse(doc.GetElementsByTagName("modified")[0].InnerText); //var tickets = doc.GetElementsByTagName("ticket"); //var builder = new TicketBuilder(this.Context); //foreach (XmlNode ticketNode in tickets) //{ // var ticket = builder.Build(ticketNode.OuterXml); // toReturn.Tickets.Add(ticket.Id, ticket); //} return res; }
public async Task <IActionResult> GetEventsAsync(string clientID = null, DateTime?fromDate = null, DateTime?throughDate = null) { if (clientID == null) { ModelState.AddModelError("clientId", "ClientId is required"); } if (!ModelState.IsValid) { return(BadRequest(new ApiError(400, ModelState))); } var results = new EventSearchResponse() { Id = new EventSearchId(DateTime.UtcNow, "GET", $"{Request.Path}{Request.QueryString}", "Event Search") }; var customerId = _membership.GetCustomerId(User); var entries = await _persistence.EventEntries.SearchAsync(customerId, clientID, fromDate, throughDate); results.Entries = entries.Select(e => new RecordedEvent(e, "/api/v1/events/")) .ToList(); return(Ok(results)); }