public JobOfferAttachment JobOfferAttachmentSelectFile(DBGuid IDVal)
        {
            // check permission: admin
              PrincipalPermission permReg = new PrincipalPermission(Thread.CurrentPrincipal.Identity.Name, "Registered");
              PrincipalPermission permAdmin = new PrincipalPermission(Thread.CurrentPrincipal.Identity.Name, "Administrator");
              permReg.Union(permAdmin).Demand();

              TraceCallEnterEvent.Raise();
              try
              {
            JobOfferAttachment result = base.JobOfferAttachmentSelect(IDVal);
            if (result != null && !result.Path.IsNull)
            {
              FileDataContext fileDataContext = new FileDataContext();
              string ext = Path.GetExtension(result.Path).ToLower();
              string fileName = result.ID.ToString() + ext;
              result.FileData = fileDataContext.JobOfferAttachmentSelect(result.JobOfferRef, fileName);
            }

            TraceCallReturnEvent.Raise();
            return result;
              }
              catch (Exception ex)
              {
            ExceptionManager.Publish(ex);
            TraceCallReturnEvent.Raise(false);
            throw;
              }
        }