public HttpResponseMessage DownloadDocument()
 {
     try
     {
         var filePath = StudentPathProvider.GetPathToDownloadFrom();
         var stream   = new FileStream(filePath, FileMode.Open);
         var result   = new HttpResponseMessage(HttpStatusCode.OK)
         {
             Content = new StreamContent(stream)
         };
         result.Content.Headers.ContentDisposition          = new ContentDispositionHeaderValue("attachment");
         result.Content.Headers.ContentType                 = new MediaTypeHeaderValue("application/octet-stream");
         result.Content.Headers.ContentDisposition.FileName = "Students.csv";
         return(result);
     }
     catch (Exception ex)
     {
         var message = ex.Message;
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, message));
     }
 }