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;
 }
Beispiel #5
0
 public GetAssetDefinitionHandler(HercPwaDbContext aHercPwaDbContext, IConfigurationProvider aConfigurationProvider)
 {
     HercPwaDbContext      = aHercPwaDbContext;
     ConfigurationProvider = aConfigurationProvider;
 }