public EntityBaseAuditDto(EntityBaseAudit entityBaseAudit) { PartitionKey = entityBaseAudit.Entity.Id.ToString(); RowKey = Guid.NewGuid().ToString(); ETag = "*"; BlobUrl = entityBaseAudit.BlobUrl; EntityType = entityBaseAudit.EntityType.AssemblyQualifiedName; }
public async void SaveEntityBaseAudit(EntityBase entityBase) { var entityBaseAudit = new EntityBaseAudit(entityBase); var blobSafeResult = await GetPersistenceManager(PersistenceTechnologies.AZURE_BLOBS).GetEntityBaseAuditDao().Save(entityBaseAudit); if (blobSafeResult) { _ = GetPersistenceManager(PersistenceTechnologies.AZURE_TABLE_STORAGE).GetEntityBaseAuditDao().Save(entityBaseAudit); } }
public async Task SoftDeleteAsync(IUnitOfWork unitOfWork, TEntity entity) { var context = unitOfWork.GetCurrentDbContext <DbContext>(); EntityBaseAudit <PKey> entityBase = entity as EntityBaseAudit <PKey>; entityBase.State = StateType.Deleted; context.Entry(entity).State = EntityState.Modified; await context.SaveChangesAsync(); }
public async Task BulkSoftDeleteAsync(IUnitOfWork unitOfWork, IEnumerable <TEntity> entities) { var context = unitOfWork.GetCurrentDbContext <DbContext>(); Parallel.ForEach(entities, entity => { EntityBaseAudit <PKey> entityBase = entity as EntityBaseAudit <PKey>; entityBase.State = StateType.Deleted; }); context.UpdateRange(entities); await context.SaveChangesAsync(); }
public async Task <bool> Save(EntityBaseAudit entityBaseAudit) { var accountConnectionString = "DefaultEndpointsProtocol=https;AccountName=between;AccountKey=kS8y6N3ILffm7wfe6n+ZpzkauFNKe4EHsaLz1Zs8c3cp/8tnFQM2OT9WL8xaHgLPenWMrCsKKKtUb8FNdRhwuA==;EndpointSuffix=core.windows.net"; var tablename = "entitybasechangeaudits"; var tableClient = GetCloudTableClient(accountConnectionString); CloudTable table = tableClient.GetTableReference(tablename); EntityBaseAuditDto entityBaseAuditdto = new EntityBaseAuditDto(entityBaseAudit); var insertData = TableOperation.Insert(entityBaseAuditdto); var result = await table.ExecuteAsync(insertData); return(true); }
public async Task <bool> Save(EntityBaseAudit entityBaseAudit) { var accountConnectionString = "DefaultEndpointsProtocol=https;AccountName=between;AccountKey=kS8y6N3ILffm7wfe6n+ZpzkauFNKe4EHsaLz1Zs8c3cp/8tnFQM2OT9WL8xaHgLPenWMrCsKKKtUb8FNdRhwuA==;EndpointSuffix=core.windows.net"; var containerName = "entitybasechangeaudits"; var blobName = entityBaseAudit?.Entity?.Id + "-" + Guid.NewGuid() + ".json"; var blobClient = GetCloudBlobClient(accountConnectionString); CloudBlobContainer container = blobClient.GetContainerReference(containerName); CloudBlockBlob blob = container.GetBlockBlobReference(blobName); string json = Newtonsoft.Json.JsonConvert.SerializeObject(entityBaseAudit); await blob.UploadTextAsync(json); entityBaseAudit.BlobUrl = blob.Uri.AbsoluteUri; return(true); }