public void MapChangeOfChargesMessageToCharge_WhenMessageWithProperties_ThenReturnsChargeWithPropertiesSet() { // Arrange var changeOfChargesMessage = GetValidChangeOfChargesMessage(); changeOfChargesMessage !.MktActivityRecord !.ValidityEndDate = Instant.MaxValue; var chargeType = new ChargeType { Code = changeOfChargesMessage.Type, Id = 1, Name = "Name" }; var chargeTypeOwnerMRid = new MarketParticipant { Id = 1, MRid = changeOfChargesMessage.ChargeTypeOwnerMRid }; var resolutionType = new ResolutionType { Id = 1, Name = changeOfChargesMessage.Period?.Resolution }; var vatPayerType = new VatPayerType { Id = 1, Name = changeOfChargesMessage.MktActivityRecord?.ChargeType?.VatPayer }; // When var result = ChangeOfChargesMapper.MapChangeOfChargesTransactionToCharge(changeOfChargesMessage, chargeType, chargeTypeOwnerMRid, resolutionType, vatPayerType); var properties = result.GetType().GetProperties(); foreach (var property in properties) { var value = property.GetValue(result); Assert.NotNull(value); } }
public void MapChangeOfChargesMessageToCharge_WhenMessageWithProperties_ThenReturnsChargeWithPropertiesSet() { // Arrange var changeOfChargesMessage = GetValidChangeOfChargesMessage(); #pragma warning disable CS8602 // Dereference of a possibly null reference. changeOfChargesMessage.MktActivityRecord.ValidityEndDate = Instant.MaxValue; #pragma warning restore CS8602 // Dereference of a possibly null reference. var chargeType = new ChargeType { Code = changeOfChargesMessage.Type, Id = 1, Name = "Name" }; var chargeTypeOwnerMRid = new Ingestion.Infrastructure.ChangeOfCharges.Context.Model.MarketParticipant { Id = 1, MRid = changeOfChargesMessage.ChargeTypeOwnerMRid }; var resolutionType = new ResolutionType { Id = 1, Name = changeOfChargesMessage.Period?.Resolution }; var vatPayerType = new VatPayerType { Id = 1, Name = changeOfChargesMessage.MktActivityRecord?.ChargeType?.VATPayer }; // When var result = ChangeOfChargesMapper.MapChangeOfChargesMessageToCharge(changeOfChargesMessage, chargeType, chargeTypeOwnerMRid, resolutionType, vatPayerType); var properties = result.GetType().GetProperties(); foreach (var property in properties) { Assert.NotNull(property.GetValue(result)); } }
public async Task <ChargeStorageStatus> StoreChargeAsync(ChangeOfChargesTransaction transaction) { if (transaction == null) { throw new ArgumentNullException(nameof(transaction)); } var chargeType = await GetChargeTypeAsync(transaction).ConfigureAwait(false); if (chargeType == null) { return(ChargeStorageStatus.CreateFailure($"No charge type for {transaction.Type}")); } var resolutionType = await GetResolutionTypeAsync(transaction).ConfigureAwait(false); if (resolutionType == null) { return(ChargeStorageStatus.CreateFailure($"No resolution type for {transaction.Period?.Resolution}")); } var vatPayerType = await GetVatPayerTypeAsync(transaction).ConfigureAwait(false); if (vatPayerType == null) { return(ChargeStorageStatus.CreateFailure($"No VAT payer type for {transaction.MktActivityRecord?.ChargeType?.VatPayer}")); } var chargeTypeOwnerMRid = await GetChargeTypeOwnerMRidAsync(transaction).ConfigureAwait(false); if (chargeTypeOwnerMRid == null) { return(ChargeStorageStatus.CreateFailure($"No market participant for {transaction.ChargeTypeOwnerMRid}")); } var charge = ChangeOfChargesMapper.MapChangeOfChargesTransactionToCharge(transaction, chargeType, chargeTypeOwnerMRid, resolutionType, vatPayerType); await _chargesDatabaseContext.Charge.AddAsync(charge).ConfigureAwait(false); await _chargesDatabaseContext.SaveChangesAsync().ConfigureAwait(false); return(ChargeStorageStatus.CreateSuccess()); }
public async Task <ChargeStorageStatus> StoreChargeAsync(ChangeOfChargesMessage chargeMessage) { var chargeType = await GetChargeTypeAsync(chargeMessage).ConfigureAwait(false); if (chargeType == null) { return(ChargeStorageStatus.CreateFailure($"No charge type for {chargeMessage.Type}")); } var resolutionType = await GetResolutionTypeAsync(chargeMessage).ConfigureAwait(false); if (resolutionType == null) { return(ChargeStorageStatus.CreateFailure($"No resolution type for {chargeMessage.Period?.Resolution}")); } var vatPayerType = await GetVatPayerTypeAsync(chargeMessage).ConfigureAwait(false); if (vatPayerType == null) { return(ChargeStorageStatus.CreateFailure($"No VAT payer type for {chargeMessage.MktActivityRecord?.ChargeType?.VATPayer}")); } var chargeTypeOwnerMRid = await GetChargeTypeOwnerMRidAsync(chargeMessage) !.ConfigureAwait(false); if (chargeTypeOwnerMRid == null) { return(ChargeStorageStatus.CreateFailure($"No market participant for {chargeMessage.ChargeTypeOwnerMRid}")); } var charge = ChangeOfChargesMapper.MapChangeOfChargesMessageToCharge(chargeMessage, chargeType, chargeTypeOwnerMRid, resolutionType, vatPayerType); await _chargesDatabaseContext.Charge.AddAsync(charge); await _chargesDatabaseContext.SaveChangesAsync().ConfigureAwait(false); return(ChargeStorageStatus.CreateSuccess()); }