public IActionResult GetFullDatabaseBackup() { if (!IsAuthorized()) { return(Unauthorized()); } try { var facade = new HelpdeskFacade(); var response = facade.ExportDatabaseManual(); var contentType = "application/zip"; Response.ContentType = contentType; switch (response.Status) { case HttpStatusCode.OK: return(new FileContentResult(response.File, contentType) { FileDownloadName = Path.GetFileName(response.Path), }); case HttpStatusCode.InternalServerError: return(StatusCode(StatusCodes.Status500InternalServerError)); } s_logger.Fatal("This code should be unreachable, unknown result has occured."); } catch (Exception ex) { s_logger.Error(ex, "Unable to export database timespan."); } return(StatusCode(StatusCodes.Status500InternalServerError)); }