public async Task <IActionResult> ExportActivityForTeacher(TeacherActivityExportRequest model)
        {
            try
            {
                model.UserId = new Guid(User.Claims.First(s => s.Type.Equals(ClaimConfig.CLAIM_USER_ID)).Value);
                var validationResult = await _teacherActivityExportValidator.ValidateAsync(model);

                if (!validationResult.IsValid)
                {
                    return(BadRequest(validationResult.Errors));
                }

                byte[] bytes = await _trackService.ExportActivityForTeacher(model.UserId, model.ClassId);

                return(File(bytes, ActivityExportByTeacherConstant.FileFormat, ActivityExportByTeacherConstant.Title));
            }
            catch (System.Exception ex)
            {
                // IMPLEMENT LOGGING HERE ...
                return(BadRequest(new BaseErrorMessage {
                    Code = "export_failure", Message = ex.Message
                }));
            }
        }