public async Task Consume(ConsumeContext <SendPaymentNotification> context) { var message = await _domainService.CreatePaymentNotification(context.Message.PaymentId); await _asyncUnitOfWork.CommitAsync(); await context.Publish <INotification>(message); }
public async Task Consume(ConsumeContext <MeterReadProcessBagan> context) { var meterRead = _meterReadFactory.Create(new MeterReadFactoryInput(context.Message.MeterReadId, context.Message.AddressId, context.Message.MeterIds, context.Message.ReadProcessStartDate)); _meterReadRepository.Add(meterRead); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <MeterMountedAtAddress> context) { var address = await _addressRepository.Get(context.Message.AddressId); address.AssignMeter(context.Message.MeterId); _addressRepository.Update(address); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <MeterReadCompleted> context) { var address = await _meterReadRepository.Get(context.Message.AddressId); address.FinishMeterReadProcess(context.Message.MeterReadId); _meterReadRepository.Update(address); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <FinishMeterReadProcess> context) { var meterRead = await _meterReadRepository.Get(context.Message.MeterReadId); meterRead.CompleteMeterRead(); _meterReadRepository.Update(meterRead); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <MarkPaymentNotificationAsSent> context) { var entity = await _paymentRepository.Get(context.Message.PaymentId); entity.MarkAsSent(); _paymentRepository.Update(entity); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <IAddressAdded> context) { var address = _factory.Create(new AddressFactoryInput() { AddressId = context.Message.Id, SquareMeters = context.Message.SquareMeters }); _repository.Add(address); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <IRegistratorAdded> context) { var registrator = _factory.Create(new FactoryInput() { AddressId = context.Message.AddressId, Description = context.Message.Description, RegistratorId = context.Message.RegistratorId }); _repository.Add(registrator); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <IPaymentAccepted> context) { var address = await _addressRepository.Get(context.Message.AddressId); if (address == null) { throw new AddressCannotBeEmptyException(context.Message.AddressId.ToString()); } address.RegisterAcceptedPayment(context.Message.PaymentId); _addressRepository.Update(address); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <CreatePaymentNotification> context) { var paymentDetails = await _serviceClient.GetPayment(context.Message.PaymentId); var address = await _billsServiceClient.GetAddressDetails(paymentDetails.AddressId); var payment = Payment.Create(context.Message.PaymentId, address.AddressId, paymentDetails.PaymentItems.Select(Convert).ToList(), $"{address.Street} {address.StreetNumber}/{address.HomeNumber}, {address.City}"); _paymentRepository.Add(payment); await _unitOfWork.CommitAsync(); await context.Publish <IPaymentCreated>(new { context.Message.PaymentId }); }
public async Task Invoke(HttpContext context, IAsyncUnitOfWork unitOfWork) { await _next.Invoke(context); await unitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <CreateUsageCalculation> context) { await _usageDomainService.CalculateUsage(context.Message.MeterReadId, context.Message.AddressId, context.Message.MeterState, context.Message.MeterId, context.Message.UsageId); await _asyncUnitOfWork.CommitAsync(); }
public async Task Consume(ConsumeContext <IMeterReadProcessCanceled> context) { _meterReadRepository.Delete(context.Message.MeterReadId); await _asyncUnitOfWork.CommitAsync(); }