public async Task <IActionResult> GetEvents(string appId, [FromQuery] EventQueryDto q) { var topics = await eventStore.QueryAsync(appId, q.ToQuery(true), HttpContext.RequestAborted); var response = new ListResponseDto <EventDto>(); response.Items.AddRange(topics.Select(x => EventDto.FromDomainObject(x, App))); response.Total = topics.Total; return(Ok(response)); }
public async Task <HttpResponseMessage> GetAllAsExcelAsync([FromUri] EventQueryDto model, CancellationToken cancellationToken) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } if (model == null) { model = new Models.EventQueryDto(); } var stream = new MemoryStream(); await _eventManager.ReportGenerator.GenerateAsync(stream, (await _eventManager.FindAllAsync( ApiSecurity.CurrentUserId, model.CategoryId, model.DateFrom, model.DateTo, model.ObjectType, model.ObjectId, model.ContactId, model.ContactState, model.ProjectId, model.CustomUri, model.Emails, model.Clients, 1, 100000, cancellationToken)).Data, cancellationToken); stream.Position = 0; var response = new HttpResponseMessage(HttpStatusCode.OK); response.Headers.CacheControl = new CacheControlHeaderValue { Private = true }; response.Content = new StreamContent(stream); response.Content.Headers.Expires = DateTime.UtcNow.AddMinutes(1); response.Content.Headers.ContentType = new MediaTypeHeaderValue(MediaTypes.Excel2007); response.Content.Headers.ContentLength = stream.Length; response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue(DispositionTypeNames.Attachment) { FileName = string.Format("events-{0}.xlsx", DateTime.UtcNow.ToString("yyyyMMdd-HHmmss")), Size = stream.Length }; return(response); }
public async Task <PagedResult <EventDto> > SearchEvents( [FromBody] EventQueryDto query, [FromQuery] int?pageIndex, [FromQuery] int?pageSize, [FromQuery] string orderBy = "") { return(await _service.SearchItemsAsync(query, pageIndex, pageSize, orderBy)); }