public async Task <Unit> Handle(ImportPayeSchemeLevyDeclarationsCommand request, CancellationToken cancellationToken, RequestHandlerDelegate <Unit> next) { var task = LevyDeclarationSagaTask.CreateImportPayeSchemeLevyDeclarationsTask(request.SagaId, request.AccountPayeSchemeId); var result = await Run(task, next); return(result); }
public async Task <Unit> Handle(UpdateAccountLevyDeclarationTransactionBalancesCommand request, CancellationToken cancellationToken, RequestHandlerDelegate <Unit> next) { var task = LevyDeclarationSagaTask.CreateUpdateAccountTransactionBalancesTask(request.SagaId, request.AccountId); var result = await Run(task, next); return(result); }
private async Task <T> Run <T>(LevyDeclarationSagaTask task, RequestHandlerDelegate <T> next) { task.Start(); var result = await next(); task.Finish(); _db.LevyDeclarationSagaTasks.Add(task); return(result); }
public UpdateProcessLevyDeclarationsSagaProgressCommandHandlerTestsFixture SetTooManyImportLevyDeclarationsTasksCompleted() { Tasks = AccountPayeSchemes .Select(aps => LevyDeclarationSagaTask.CreateImportPayeSchemeLevyDeclarationsTask(Saga.Id, aps.Id)) .Append(LevyDeclarationSagaTask.CreateImportPayeSchemeLevyDeclarationsTask(Saga.Id, AccountPayeSchemes[0].Id)) .ToList(); Db.LevyDeclarationSagaTasks.AddRange(Tasks); Db.SaveChanges(); return(this); }
public UpdateProcessLevyDeclarationsSagaProgressCommandHandlerTestsFixture SetSomeImportLevyDeclarationTasksCompleted() { Tasks = new List <LevyDeclarationSagaTask> { LevyDeclarationSagaTask.CreateImportPayeSchemeLevyDeclarationsTask(Saga.Id, AccountPayeSchemes[0].Id), LevyDeclarationSagaTask.CreateImportPayeSchemeLevyDeclarationsTask(Saga.Id, AccountPayeSchemes[1].Id) }; Db.LevyDeclarationSagaTasks.AddRange(Tasks); Db.SaveChanges(); return(this); }
public UpdateProcessLevyDeclarationsSagaProgressCommandHandlerTestsFixture SetTooManyUpdateAccountTransactionBalancesTasksCompleted() { Saga.Set(s => s.ImportPayeSchemeLevyDeclarationsTasksCompleteCount, AccountPayeSchemes.Count); Tasks = Accounts .Select(a => LevyDeclarationSagaTask.CreateUpdateAccountTransactionBalancesTask(Saga.Id, a.Id)) .Append(LevyDeclarationSagaTask.CreateUpdateAccountTransactionBalancesTask(Saga.Id, Accounts[0].Id)) .ToList(); Db.LevyDeclarationSagaTasks.AddRange(Tasks); Db.SaveChanges(); return(this); }
public UpdateProcessLevyDeclarationsSagaProgressCommandHandlerTestsFixture SetSomeUpdateAccountTransactionBalancesTasksCompleted() { Saga.Set(s => s.ImportPayeSchemeLevyDeclarationsTasksCompleteCount, AccountPayeSchemes.Count); Tasks = new List <LevyDeclarationSagaTask> { LevyDeclarationSagaTask.CreateUpdateAccountTransactionBalancesTask(Saga.Id, AccountPayeSchemes[0].AccountId) }; Db.LevyDeclarationSagaTasks.AddRange(Tasks); Db.SaveChanges(); return(this); }
public UpdateLevyDeclarationTransactionBalancesCommandHandlerTestsFixture() { Fixture = new Fixture(); Now = DateTime.UtcNow; EmployerReferenceNumbers = new List <string> { "AAA111", "BBB222", "CCC333" }; Accounts = new List <Account> { Fixture.Create <Account>().Set(a => a.Id, 1), Fixture.Create <Account>().Set(a => a.Id, 2) }; AccountPayeSchemes = new List <AccountPayeScheme> { new AccountPayeScheme(Accounts[0], EmployerReferenceNumbers[0], Now).Set(aps => aps.Id, 3), new AccountPayeScheme(Accounts[0], EmployerReferenceNumbers[1], Now).Set(aps => aps.Id, 4), new AccountPayeScheme(Accounts[1], EmployerReferenceNumbers[2], Now).Set(aps => aps.Id, 5) }; Saga = ObjectActivator.CreateInstance <LevyDeclarationSaga>().Set(s => s.Id, 6); LevyDeclarationSagaTasks = AccountPayeSchemes .Select(aps => LevyDeclarationSagaTask.CreateImportPayeSchemeLevyDeclarationsTask(Saga.Id, aps.Id)) .ToList(); Command = new UpdateLevyDeclarationTransactionBalancesCommand(Saga.Id); Db = new EmployerFinanceDbContext(new DbContextOptionsBuilder <EmployerFinanceDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options); UniformSession = new Mock <IUniformSession>(); Db.AccountPayeSchemes.AddRange(AccountPayeSchemes); Db.LevyDeclarationSagas.Add(Saga); Db.LevyDeclarationSagaTasks.AddRange(LevyDeclarationSagaTasks); Db.SaveChanges(); Handler = new UpdateLevyDeclarationTransactionBalancesCommandHandler(Db, UniformSession.Object); }
public UpdateProcessLevyDeclarationsSagaProgressCommandHandlerTestsFixture SetAllTasksCompleted() { Saga.Set(s => s.ImportPayeSchemeLevyDeclarationsTasksCompleteCount, Saga.ImportPayeSchemeLevyDeclarationsTasksCount) .Set(s => s.UpdateAccountTransactionBalancesTasksCompleteCount, Saga.UpdateAccountTransactionBalancesTasksCount) .Set(s => s.IsComplete, true) .Set(s => s.Updated, Now); var importPayeSchemeLevyDeclarationsTasks = AccountPayeSchemes .Take(Saga.ImportPayeSchemeLevyDeclarationsTasksCount) .Select(aps => LevyDeclarationSagaTask.CreateImportPayeSchemeLevyDeclarationsTask(Saga.Id, aps.Id)); var updateAccountTransactionBalancesTasks = Accounts .Take(Saga.UpdateAccountTransactionBalancesTasksCount) .Select(a => LevyDeclarationSagaTask.CreateUpdateAccountTransactionBalancesTask(Saga.Id, a.Id)); Tasks = importPayeSchemeLevyDeclarationsTasks.Concat(updateAccountTransactionBalancesTasks).ToList(); Db.LevyDeclarationSagaTasks.AddRange(Tasks); Db.SaveChanges(); return(this); }