public async Task <BankAccount> SaveAsync(BankAccount domainObjectToSave) { var entity = Mapper.Map <BankAccountEntity>(domainObjectToSave); if (base.IsNew(domainObjectToSave)) { entity.Audit = new EntityFramework.Model.Core.AuditEntity() { CreatedBy = UserContextProvider.GetCurrentUser().SignOn, CreatedOn = DateTimeProvider.UtcNow }; DbContext.BankAccounts.Add(entity); } else { entity.Audit = DbContext.AuditTrail.Single(x => x.AuditID == entity.AuditID); entity.Audit.UpdatedBy = UserContextProvider.GetCurrentUser().SignOn; entity.Audit.UpdatedOn = DateTimeProvider.UtcNow; DbContext.BankAccounts.Update(entity); } await DbContext.SaveChangesAsync().ConfigureAwait(false); return(Mapper.Map <BankAccount>(entity)); }
public async Task <Document> SaveAsync(Document domainObjectToSave) { var entity = Mapper.Map <DocumentEntity>(domainObjectToSave); if (base.IsNew(domainObjectToSave)) { entity.Audit = new EntityFramework.Model.Core.AuditEntity() { CreatedBy = UserContextProvider.GetCurrentUser().SignOn, CreatedOn = DateTimeProvider.UtcNow }; DbContext.Documents.Add(entity); } else { // TODO: handle audit change DbContext.Documents.Update(entity); } await DbContext.SaveChangesAsync().ConfigureAwait(false); return(Mapper.Map <Document>(entity)); }