public async Task <IAssetRegisterVersion> CreateAsync(IAssetRegisterVersion assetRegisterVersion, CancellationToken cancellationToken) { AssetRegisterVersionEntity assetRegisterVersionEntity = new AssetRegisterVersionEntity(assetRegisterVersion); Console.WriteLine($"{DateTime.UtcNow.TimeOfDay.ToString("g")}: Start Associate Entities with Asset Register Version"); assetRegisterVersionEntity.Assets = assetRegisterVersionEntity.Assets?.Select(s => { s.AssetRegisterVersion = assetRegisterVersionEntity; return(s); }).ToList(); Console.WriteLine($"{DateTime.UtcNow.TimeOfDay.ToString("g")}: Finish Associate Entities with Asset Register Version"); using (var context = new AssetRegisterContext(_databaseUrl)) { Console.WriteLine($"{DateTime.UtcNow.TimeOfDay.ToString("g")}: Start Add async"); await context.AssetRegisterVersions.AddAsync(assetRegisterVersionEntity).ConfigureAwait(false); Console.WriteLine($"{DateTime.UtcNow.TimeOfDay.ToString("g")}: Finish Add async"); Console.WriteLine($"{DateTime.UtcNow.TimeOfDay.ToString("g")}: Start Save Changes async"); await context.SaveChangesAsync(cancellationToken).ConfigureAwait(false); Console.WriteLine($"{DateTime.UtcNow.TimeOfDay.ToString("g")}: Finish Save Changes async"); Console.WriteLine($"{DateTime.UtcNow.TimeOfDay.ToString("g")}: Start Marshall Data"); IAssetRegisterVersion result = new AssetRegisterVersion { Id = assetRegisterVersionEntity.Id, ModifiedDateTime = assetRegisterVersionEntity.ModifiedDateTime, Assets = assetRegisterVersionEntity.Assets?.Select(s => new Asset(s) as IAsset).ToList() }; Console.WriteLine($"{DateTime.UtcNow.TimeOfDay.ToString("g")}: Finish Marshall Data"); return(result); } }
public AssetRegisterVersion(IAssetRegisterVersion assetRegisterVersion) { Id = assetRegisterVersion.Id; ModifiedDateTime = assetRegisterVersion.ModifiedDateTime; Assets = assetRegisterVersion.Assets; }
public AssetRegisterVersionEntity(IAssetRegisterVersion assetRegisterVersion) { Id = assetRegisterVersion.Id; ModifiedDateTime = assetRegisterVersion.ModifiedDateTime; Assets = assetRegisterVersion.Assets?.Select(s => new AssetEntity(s)).ToList(); }
public AssetRegisterVersionOutputModel(IAssetRegisterVersion assetRegisterVersion) { Id = assetRegisterVersion.Id; CreatedAt = assetRegisterVersion.ModifiedDateTime; }