/// <inheritdoc/> public async Task UpdateAsync( IWho who, IAuditHeaderWithAuditDetails auditHeader, IHost host) { this.logger.LogTrace( "ENTRY {Method}(who, host) {@Who} {@Host}", nameof(this.UpdateAsync), who, host); HostDto dto = HostDto.ToDto(host); HostDto original = await this.context.FindAsync <HostDto>(host.Id) .ConfigureAwait(false); Audit.AuditUpdate(auditHeader, dto.Id, original, dto); this.context.Entry(original).CurrentValues.SetValues(dto); await this.context.SaveChangesAsync().ConfigureAwait(false); this.logger.LogTrace( "EXIT {Method}(who) {@Who}", nameof(this.UpdateAsync), who); }
/// <inheritdoc/> public async Task CreateAsync( IWho who, IAuditHeaderWithAuditDetails auditHeader, IHost host) { this.logger.LogTrace( "ENTRY {Method}(who, organisation) {@Who} {@Host}", nameof(this.CreateAsync), who, host); HostDto dto = HostDto.ToDto(host); this.context.Hosts.Add(dto); await this.context.SaveChangesAsync().ConfigureAwait(false); Audit.AuditCreate(auditHeader, dto, dto.Id); this.logger.LogTrace( "EXIT {Method}(who) {@Who}", nameof(this.CreateAsync), who); }