Beispiel #1
0
        public async Task <HttpResponseMessage> GenerateSummaryReport()
        {
            var query = new GenerateTimeEntrySummaryReportQuery()
            {
                IncludeTimeEntriesOfAllUsers = false,
                QueryString = HttpUtility.UrlDecode(Request.RequestUri.Query)
            };

            try
            {
                var reportItems = await timeEntryService.GenerateSummaryReport(query);

                var response = new HttpResponseMessage();
                var content  = timeEntrySummaryReportTemplating.Parse(reportItems);

                response.Content = new StringContent(content);
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");

                return(response);
            }
            catch (ValidationException ex)
            {
                var response = new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest);
                response.Content = new StringContent(ex.Message);
                return(response);
            }
            catch (AuthorizationException)
            {
                var response = new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden);
                return(response);
            }
        }