Esempio n. 1
0
        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));
        }