public async Task <CreateAssetDefinitionResponse> Handle( CreateAssetDefinitionRequest aCreateAssetDefinitionRequest, CancellationToken aCancellationToken) { AssetDefinition assetDefintion = Mapper.Map <AssetDefinitionDto, AssetDefinition>(aCreateAssetDefinitionRequest.AssetDefinitionDto); HercPwaDbContext.AssetDefinitions.Add(assetDefintion); await HercPwaDbContext.SaveChangesAsync(aCancellationToken); var createAssetDefinitionResponse = new CreateAssetDefinitionResponse(aCreateAssetDefinitionRequest.Guid) { AssetDefinition = Mapper.Map <AssetDefinition, AssetDefinitionDto>(assetDefintion) }; return(createAssetDefinitionResponse); }
public static void Main(string[] aArgumentArray) { IWebHost host = BuildWebHost(aArgumentArray); using (IServiceScope scope = host.Services.CreateScope()) { System.IServiceProvider services = scope.ServiceProvider; try { HercPwaDbContext hercPwaDbContext = services.GetRequiredService <HercPwaDbContext>(); DbInitializer.Initialize(hercPwaDbContext); } catch (Exception exception) { ILogger <Program> logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(exception, "An error occurred creating the DB."); } } host.Run(); }
public static async Task ExecuteScopeAsync(Func <IServiceProvider, Task> action) { using (IServiceScope scope = s_scopeFactory.CreateScope()) { HercPwaDbContext dbContext = scope.ServiceProvider.GetService <HercPwaDbContext>(); try { await dbContext.BeginTransactionAsync().ConfigureAwait(false); await action(scope.ServiceProvider).ConfigureAwait(false); await dbContext.CommitTransactionAsync().ConfigureAwait(false); } catch (Exception) { dbContext.RollbackTransaction(); throw; } } }
public CreateAssetDefinitionHandler(HercPwaDbContext aHercPwaDbContext, IMapper aMapper) { HercPwaDbContext = aHercPwaDbContext; Mapper = aMapper; }
public GetAssetDefinitionHandler(HercPwaDbContext aHercPwaDbContext, IConfigurationProvider aConfigurationProvider) { HercPwaDbContext = aHercPwaDbContext; ConfigurationProvider = aConfigurationProvider; }