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;
		}
Esempio n. 2
0
        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));
        }