예제 #1
0
        public void DoWork()
        {
            var guid = Guid.Parse("f63469c1-9caa-4a17-b7f5-3c8248193de9");

            using (var store = new DocumentStore
            {
                Urls = new[] { "http://localhost:8888" },
                Database = "BankAccountEventStore"
            })
            {
                store.Initialize();
                using (var session = store.OpenSession())
                {
                    IEventStore eventStore  = new RavenDbEventStore(session);
                    var         repository  = new BankAccountRepository(eventStore);
                    var         bankAccount = repository.FindBy(guid);

                    repository.SaveSnapshot(bankAccount.Snapshot(), bankAccount);

                    bankAccount.Deposit(new Money(200m));
                    repository.Save(bankAccount);


                    session.SaveChanges();


//                    repository.SaveSnapshot(bankAccount.Snapshot(), bankAccount);
//                    session.SaveChanges();
//
//                    var bankAccountOption = repository.FindBy(guid);
//                    var bankAccount2 = bankAccountOption.Value;
                }
            }
        }
예제 #2
0
        public void When_I_save_a_bank_account_Then_I_can_retrieve_it()
        {
            var id       = AccountId.NewId();
            var original = GetBankAccount(id);

            _bankAccountRepository.Save(original);
            var retrieved = _bankAccountRepository.Retrieve(id);

            AssertSame(original, retrieved);
        }
        public override void TestInitialize()
        {
            base.TestInitialize();
            TransactionRepository = Container.Resolve <IRepository <RaiffeisenTransactionEntity> >();
            BankAccountRepository = Container.Resolve <IRepository <BankAccountEntity> >();

            BankAccountEntity = new BankAccountEntity
            {
                AccountName   = "Giro",
                BankName      = "Raiffeisen",
                AccountNumber = "AT001234567891234",
                Iban          = "AT001234567891234"
            };
            BankAccountRepository.InsertOrGetWithEquality(BankAccountEntity);
            BankAccountRepository.Save();
        }
예제 #4
0
        public BankAccountModel CreateEditBankAccount(BankAccountModel model)
        {
            BankAccountEntity entity;

            //is update
            if (model.Id != default(long))
            {
                entity = BankAccountRepository.GetById(model.Id);
                entity = Mapper.Map(model, entity);
            }
            else
            {
                entity = Mapper.Map <BankAccountEntity>(model);
                entity = BankAccountRepository.Insert(entity);
            }
            BankAccountRepository.Save();
            return(Mapper.Map <BankAccountModel>(entity));
        }