title: ASPNET Boilerplate, extending audit log
body: <p>I am trying to extend the <code>AuditLog</code> entity in <strong>ASPNETBOILETPLATE</strong> framework in order to add some new properties to it. I have tried to extend the <code>AuditLog</code> class (<code>ExtendedAuditInfo</code>) and implement a customised version of <code>AuditStore</code> Class (<code>ExtendedAuditStore</code>). However, I am not able to inject my new <code>ExtendedAuditInfo</code> in the constructor and receive two error messages regarding unmatching input parameters in the <code>Constructor</code> and <code>SaveAsync</code> method.</p>
  <p>Class <strong>ExtendedAuditInfo</strong>:</p>
  <pre><code>public class ExtendedAuditInfo : AuditInfo
  {
      // Some properties
  }
  </code></pre>
  <p>Class <strong>ExtendedAuditStore</strong>:</p>
  <pre><code>public class ExtendedAuditStore : AuditingStore
  {
      public ExtendedAuditStore(IRepository&lt;ExtendedAuditInfo, long&gt; auditLogRepository)
          : base(auditLogRepository)
      {
      }
  
      public override Task SaveAsync(ExtendedAuditInfo auditInfo)
      {
          if (!string.IsNullOrEmpty(auditInfo.Parameters) &amp;&amp; auditInfo.Parameters != &quot;{}&quot;)
          {
              var parameters = JsonConvert.DeserializeObject&lt;AuditParameterInput&gt;(auditInfo.Parameters);
              if (parameters != null)
                  auditInfo.CustomData = parameters.Input.Id.ToString();
          }
  
          return base.SaveAsync(auditInfo);
      }
  }
  </code></pre>
  <p>The errors are:</p>
  <blockquote>
  <p>cannot convert from 'Abp.Domain.Repositories.IRepository&lt;SixB.Serafina.Auditing.ExtendedAuditInfo, long&gt;' to 'Abp.Domain.Repositories.IRepository&lt;Abp.Auditing.AuditLog, long&gt;'</p>
  </blockquote>
  <p>and</p>
  <blockquote>
  <p>no suitable method found to override</p>
  </blockquote>
  <p>The procedure above is based on the idea that I found <a href="https://stackoverflow.com/a/49577199/7855321">Here</a></p>