public async Task <IActionResult> ExportActivityForSchoolOwner(SchoolOwnerActivityExportRequest model) { try { model.UserId = new Guid(User.Claims.First(s => s.Type.Equals(ClaimConfig.CLAIM_USER_ID)).Value); var validationResult = await _schoolOwnerActivityExportValidator.ValidateAsync(model); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } byte[] bytes = await _trackService.ExportActivityForSchoolOnwer(model.UserId, model.SchoolId, model.ClassId); return(File(bytes, ActivityExportBySchoolOwner.FileFormat, ActivityExportBySchoolOwner.Title)); } catch (System.Exception ex) { // IMPLEMENT LOGGING HERE ... return(BadRequest(new BaseErrorMessage { Code = "export_failure", Message = ex.Message })); } }