Exemple #1
0
        public void ThenIsRegistered_WithSnapshot()
        {
            Fixture.Register(() => (ISnapshotStrategy)IntervalStrategy.SnapshotEvery(1));

            var command = Fixture.Create <ImportTerrainObjectFromCrab>()
                          .WithLifetime(new CrabLifetime(null, null))
                          .WithModification(CrabModification.Insert);

            var parcelId   = new ParcelId(command.CaPaKey.CreateDeterministicId());
            var snapshotId = GetSnapshotIdentifier(parcelId);

            Assert(new Scenario()
                   .GivenNone()
                   .When(command)
                   .Then(new []
            {
                new Fact(parcelId, new ParcelWasRegistered(parcelId, command.CaPaKey)),
                new Fact(parcelId, new ParcelWasRealized(parcelId)),
                new Fact(parcelId, command.ToLegacyEvent()),
                new Fact(snapshotId,
                         SnapshotBuilder.CreateDefaultSnapshot(parcelId)
                         .WithParcelStatus(ParcelStatus.Realized)
                         .Build(2, EventSerializerSettings))
            }));
        }
Exemple #2
0
        /// <summary>
        /// Generate the boletu object
        /// </summary>
        /// <returns></returns>
        public BoletoNet.Boleto GenerateBoleto()
        {
            if (FinancierOperation == null)
            {
                throw new ArgumentException("Only can generate Boletu object in Parcel with Payment Method!");
            }

            if (!FinancierOperation.PaymentMethod.IsBoleto)
            {
                throw new ArgumentException("Only can generate Boletu object for Boletu Payment Method!");
            }

            var b = new Boleto(DueDate,
                               Convert.ToDouble(Amount),
                               FinancierOperation.OperationNumber,

                               // Nosso Numero identifica o boleto no banco
                               ParcelId.ToString(),

                               FinancierOperation.Account.Agency.Split('-')[0],
                               FinancierOperation.Account.AccountNumber.Split('-')[0]);


            b.DataDocumento     = DueDate;
            b.DataProcessamento = DateTime.Now;
            b.NumeroDocumento   = ParcelId.ToString();

            b.Banco = new Banco(Convert.ToInt32(FinancierOperation.Account.Bank.BankNumber));

            //
            // Empresa
            //
            b.Cedente = new Cedente(
                Company.LegalEntityProfile.CNPJ,
                Company.LegalEntityProfile.CompanyName,
                FinancierOperation.Account.Agency.Split('-')[0],
                FinancierOperation.Account.AccountNumber.Split('-')[0],
                FinancierOperation.Account.AccountNumberDigit.ToString())
            {
                Codigo = Convert.ToInt32(FinancierOperation.MembershipNumber)
            };

            //
            // Cliente
            //
            b.Sacado = new Sacado(
                Invoice.Customer.Identification,
                Invoice.Customer.Name,
                new Endereco()
            {
                End    = Invoice.Customer.Address.Name,
                Bairro = Invoice.Customer.Address.Neighborhood,
                Cidade = Invoice.Customer.Address.City,
                CEP    = Invoice.Customer.Address.PostalCode,
                UF     = Invoice.Customer.Address.State
            }
                );

            return(b);
        }
Exemple #3
0
        public void Customize(IFixture fixture)
        {
            var capakey =
                new SpecimenContext(fixture).Resolve(
                    new RegularExpressionRequest("^[0-9]{5}_[A-Z]_[0-9]{4}_[A-Z_0]_[0-9]{3}_[0-9]{2}$"));

            fixture.Customize <VbrCaPaKey>(c => c.FromFactory(() => new VbrCaPaKey(capakey.ToString())));

            var vbrCaPaKey = fixture.Create <VbrCaPaKey>();

            fixture.Customize <ParcelId>(c => c.FromFactory(() => ParcelId.CreateFor(vbrCaPaKey)));

            var parcelId = fixture.Create <ParcelId>();

            fixture.Register(() => parcelId);
            fixture.Register(() => vbrCaPaKey);

            fixture.Customizations.Add(
                new FilteringSpecimenBuilder(
                    new FixedBuilder(parcelId),
                    new ParameterSpecification(
                        typeof(Guid),
                        "parcelId")));

            fixture.Customizations.Add(
                new FilteringSpecimenBuilder(
                    new FixedBuilder(vbrCaPaKey),
                    new ParameterSpecification(
                        typeof(string),
                        "vbrCaPaKey")));
        }
Exemple #4
0
 public GivenParcel(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
 {
     Fixture.Customize(new InfrastructureCustomization());
     Fixture.Customize(new WithFixedParcelId());
     Fixture.Customize(new WithNoDeleteModification());
     _parcelId = Fixture.Create <ParcelId>();
 }
        public async Task ImportTerrainObject(
            Func <IParcels> getParcels,
            CommandMessage <ImportTerrainObjectFromCrab> message,
            CancellationToken ct)
        {
            var parcels = getParcels();

            var parcelId = ParcelId.CreateFor(message.Command.CaPaKey);
            var parcel   = await parcels.GetOptionalAsync(parcelId, ct);

            if (!parcel.HasValue)
            {
                parcel = new Optional <Parcel>(Parcel.Register(parcelId, message.Command.CaPaKey));
                parcels.Add(parcelId, parcel.Value);
            }

            parcel.Value.ImportTerrainObjectFromCrab(
                message.Command.TerrainObjectId,
                message.Command.IdentifierTerrainObject,
                message.Command.TerrainObjectNatureCode,
                message.Command.XCoordinate,
                message.Command.YCoordinate,
                message.Command.BuildingNature,
                message.Command.Lifetime,
                message.Command.Timestamp,
                message.Command.Operator,
                message.Command.Modification,
                message.Command.Organisation);
        }
Exemple #6
0
 public ParcelAddressWasDetached(
     ParcelId parcelId,
     AddressId addressId)
 {
     ParcelId  = parcelId;
     AddressId = addressId;
 }
Exemple #7
0
 public ParcelWasRegistered(
     ParcelId parcelId,
     VbrCaPaKey vbrCaPaKey)
 {
     ParcelId   = parcelId;
     VbrCaPaKey = vbrCaPaKey;
 }
        public static Parcel Register(ParcelId id, VbrCaPaKey vbrCaPaKey, IParcelFactory factory)
        {
            var parcel = factory.Create();

            parcel.ApplyChange(new ParcelWasRegistered(id, vbrCaPaKey));
            return(parcel);
        }
 public GivenParcelIsRemoved(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
 {
     Fixture.Customize(new InfrastructureCustomization());
     Fixture.Customize(new WithFixedParcelId());
     Fixture.Customize(new WithNoDeleteModification());
     _parcelId   = Fixture.Create <ParcelId>();
     _snapshotId = GetSnapshotIdentifier(_parcelId);
 }
 public GivenParcelWithAddressByHouseNumber(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
 {
     _fixture = new Fixture();
     _fixture.Customize(new InfrastructureCustomization());
     _fixture.Customize(new WithFixedParcelId());
     _fixture.Customize(new WithNoDeleteModification());
     _parcelId = _fixture.Create <ParcelId>();
 }
 public static ParcelSnapshot CreateDefaultSnapshot(ParcelId parcelId)
 {
     return(new ParcelSnapshot(
                parcelId,
                null,
                false,
                Modification.Insert,
                new Dictionary <CrabTerrainObjectHouseNumberId, CrabHouseNumberId>(),
                new List <AddressSubaddressWasImportedFromCrab>(),
                new List <AddressId>()));
 }
Exemple #12
0
        public void ThenIsRegistered()
        {
            var command = _fixture.Create <ImportTerrainObjectFromCrab>()
                          .WithLifetime(new CrabLifetime(null, null))
                          .WithModification(CrabModification.Insert);

            var parcelId = new ParcelId(command.CaPaKey.CreateDeterministicId());

            Assert(new Scenario()
                   .GivenNone()
                   .When(command)
                   .Then(parcelId,
                         new ParcelWasRegistered(parcelId, command.CaPaKey),
                         new ParcelWasRealized(parcelId),
                         command.ToLegacyEvent()));
        }
 public ParcelSnapshot(ParcelId parcelId,
                       ParcelStatus?parcelStatus,
                       bool isRemoved,
                       Modification lastModificationBasedOnCrab,
                       Dictionary <CrabTerrainObjectHouseNumberId, CrabHouseNumberId> activeHouseNumberIdsByTerrainObjectHouseNr,
                       IEnumerable <AddressSubaddressWasImportedFromCrab> importedSubaddressFromCrab,
                       IEnumerable <AddressId> addressIds)
 {
     ParcelId     = parcelId;
     ParcelStatus = parcelStatus ?? string.Empty;
     IsRemoved    = isRemoved;
     LastModificationBasedOnCrab = lastModificationBasedOnCrab;
     ActiveHouseNumberIdsByTerrainObjectHouseNr = activeHouseNumberIdsByTerrainObjectHouseNr
                                                  .ToDictionary(x => (int)x.Key, y => (int)y.Value);
     ImportedSubaddressFromCrab = importedSubaddressFromCrab;
     AddressIds = addressIds.Select(id => (Guid)id);
 }
        public async Task ImportTerrainObjectHouseNumber(
            Func <IParcels> getParcels,
            CommandMessage <ImportTerrainObjectHouseNumberFromCrab> message,
            CancellationToken ct)
        {
            var parcels = getParcels();

            var parcelId = ParcelId.CreateFor(message.Command.CaPaKey);
            var parcel   = await parcels.GetAsync(parcelId, ct);

            parcel.ImportTerrainObjectHouseNumberFromCrab(
                message.Command.TerrainObjectHouseNumberId,
                message.Command.TerrainObjectId,
                message.Command.HouseNumberId,
                message.Command.Lifetime,
                message.Command.Timestamp,
                message.Command.Operator,
                message.Command.Modification,
                message.Command.Organisation);
        }
Exemple #15
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (ParcelId != 0)
            {
                hash ^= ParcelId.GetHashCode();
            }
            if (GoodId != 0)
            {
                hash ^= GoodId.GetHashCode();
            }
            if (GoodNum != 0)
            {
                hash ^= GoodNum.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        private static void CreateCommand(ParcelId parcelId, JsonSerializerSettings commandsJsonSerializerSettings)
        {
            var command = new FixGrar1475(parcelId);
            var path    = Path.Combine(FilesToProcessPath, $"{parcelId:D}.json");
            var fileNr  = 2;

            while (File.Exists(path))
            {
                path = Path.Combine(FilesToProcessPath, $"{parcelId:D9}-{fileNr}.json");
                fileNr++;
            }

            File.WriteAllText(
                Path.Combine(path),
                JsonConvert.SerializeObject(
                    new RegisterCrabImportRequest
            {
                CrabItem = JsonConvert.SerializeObject(
                    command,
                    commandsJsonSerializerSettings),
                Type = typeof(FixGrar1475).FullName
            }, commandsJsonSerializerSettings));
        }
        private void When(ParcelSnapshot snapshot)
        {
            _parcelId = new ParcelId(snapshot.ParcelId);
            if (!string.IsNullOrEmpty(snapshot.ParcelStatus))
            {
                var status = ParcelStatus.Parse(snapshot.ParcelStatus);
                if (status == ParcelStatus.Realized)
                {
                    IsRealized = true;
                }
                if (status == ParcelStatus.Retired)
                {
                    IsRetired = true;
                }
            }

            IsRemoved = snapshot.IsRemoved;
            LastModificationBasedOnCrab = snapshot.LastModificationBasedOnCrab;

            foreach (var activeHouseNumberByTerrainObject in snapshot.ActiveHouseNumberIdsByTerrainObjectHouseNr)
            {
                _activeHouseNumberIdsByTerreinObjectHouseNr.Add(
                    new CrabTerrainObjectHouseNumberId(activeHouseNumberByTerrainObject.Key),
                    new CrabHouseNumberId(activeHouseNumberByTerrainObject.Value));
            }

            foreach (var addressId in snapshot.AddressIds)
            {
                _addressCollection.Add(new AddressId(addressId));
            }

            foreach (var subaddressWasImportedFromCrab in snapshot.ImportedSubaddressFromCrab)
            {
                _addressCollection.Add(subaddressWasImportedFromCrab);
            }
        }
Exemple #18
0
 public ParcelWasCorrectedToRetired(
     ParcelId parcelId)
 {
     ParcelId = parcelId;
 }
Exemple #19
0
 private void When(ParcelWasRegistered @event)
 {
     _parcelId = new ParcelId(@event.ParcelId);
     Version   = new Version(0);
 }
 public ParcelWasRecovered(ParcelId parcelId)
 {
     ParcelId = parcelId;
 }
 public ParcelWasRealized(
     ParcelId parcelId)
 {
     ParcelId = parcelId;
 }
 public ParcelWasRemoved(
     ParcelId parcelId)
 {
     ParcelId = parcelId;
 }
 public ParcelWasCorrectedToRealized(
     ParcelId parcelId)
 {
     ParcelId = parcelId;
 }
Exemple #24
0
 public FixGrar1475(ParcelId parcelId)
 {
     ParcelId = parcelId;
 }
Exemple #25
0
 public ParcelWasRetired(
     ParcelId parcelId)
 {
     ParcelId = parcelId;
 }
 public FixGrar1637(ParcelId parcelId)
 {
     ParcelId = parcelId;
 }