public CustomReportTemplate GetById(Guid templateId)
 {
     return(DoRead(u =>
     {
         var da = new DataAccessBase <CustomReportTemplate, Guid>(u);
         var res = da.GetById(templateId);
         if (res.HeaderRef.HasValue)
         {
             res.Header = da.GetById(res.HeaderRef.Value);
         }
         if (res.FooterRef.HasValue)
         {
             res.Footer = da.GetById(res.FooterRef.Value);
         }
         return res;
     }));
 }
        public CustomReportTemplate Edit(Guid templateId, string name, string layout, string style, byte[] icon, Guid?headerId, Guid?footerId, TemplateType type)
        {
            BaseSecurity.EnsureSysAdmin(Context);
            CustomReportTemplate template = null;

            DoUpdate(u =>
            {
                var da             = new DataAccessBase <CustomReportTemplate, Guid>(u);
                template           = da.GetById(templateId);
                template.Layout    = layout;
                template.Style     = style;
                template.Name      = name;
                template.FooterRef = footerId;
                template.HeaderRef = headerId;
                template.Type      = (int)type;
                da.Update(template);
                if (icon != null)
                {
                    ServiceLocator.CustomReportTemplateIconService.UploadPicture(templateId, icon);
                }
            });
            return(template);
        }