示例#1
0
        public async Task <IActionResult> GetRegistrationAudit(string id)
        {
            if (!long.TryParse(id, out var essFileNumber))
            {
                return(BadRequest($"'{id}' not a valid ESS file number"));
            }
            var registration = await mediator.Send(new RegistrationSummaryQueryRequest(id));

            if (registration == null)
            {
                return(NotFound());
            }
            var results = await mediator.Send(new RegistrationAuditQueryRequest(essFileNumber));

            Response.Headers.Add("Content-Disposition", $"inline; filename=\"{id}.csv\"");
            return(Content(results
                           .Select(e => new
            {
                e.EssFileNumber,
                e.UserName,
                //The time zone being recorded in the audit is UTC and the OpenShift pods local time is UTC, the below ensures that PST is always returned
                Date = TimeZoneConverter.GetFormatedLocalDateTime(e.DateViewed),      //eg: Tue 11 Jun 2019 11:36:22 PDT
                e.Reason
            })
                           .ToCSV(), "text/csv"));
        }