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