예제 #1
0
        public PlanDTO GetPlanDetails(string username)
        {
            var acc = accountService.GetAccountForUser(username);

            if (acc == null)
            {
                throw new Exception("such account doesn't exist");
            }
            var plan = planRepository.GetById(acc.PlanId);

            return(PlanConverter.ToDTO(plan));
        }
        public void CanPersistPropertyChanges()
        {
            var provider   = new PlanStorageProviderMonitor(GenerateRefTree());
            var cache      = new PlanCache(new ExpirationStrategyMock());
            var repository = new PlanRepository(new PlanStorage(cache, provider));

            repository.GetById <ActivityDO>(NewGuid(2)).Label = "newName";
            repository.GetById <ActivityDO>(NewGuid(3)).Label = "newName3";

            repository.SaveChanges();

            repository = new PlanRepository(new PlanStorage(cache, provider));

            Assert.AreEqual("newName", repository.GetById <ActivityDO>(NewGuid(2)).Label, "Labels are different");
            Assert.AreEqual("newName3", repository.GetById <ActivityDO>(NewGuid(3)).Label, "Labels are different");
        }
        public void CanGetById()
        {
            var provider   = new PlanStorageProviderMonitor(GenerateRefTree());
            var repository = new PlanRepository(new PlanStorage(new PlanCache(new ExpirationStrategyMock()), provider));

            Assert.AreEqual(NewGuid(2), repository.GetById <ActivityDO>(NewGuid(2)).Id);
        }
        public void CanUpdateProperties()
        {
            var provider        = new PlanStorageProviderMonitor(GenerateRefTree());
            var repository      = new PlanRepository(new PlanStorage(new PlanCache(new ExpirationStrategyMock()), provider));
            var expectedChanges = new ExpectedChanges
            {
                Updates =
                {
                    new ExpectedObjectChange(NewGuid(2), "Label", "newName"),
                    new ExpectedObjectChange(NewGuid(3), "Label", "newName3")
                }
            };

            repository.GetById <ActivityDO>(NewGuid(2)).Label = "newName";
            repository.GetById <ActivityDO>(NewGuid(3)).Label = "newName3";

            repository.SaveChanges();

            ValidateChanges(expectedChanges, provider.SubmittedChanges);
        }
        public void CanUpdateStructure()
        {
            var provider        = new PlanStorageProviderMonitor(GenerateRefTree());
            var repository      = new PlanRepository(new PlanStorage(new PlanCache(new ExpirationStrategyMock()), provider));
            var expectedChanges = new ExpectedChanges
            {
                Inserted = { NewGuid(4) },
                Deleted  = { NewGuid(3) }
            };

            repository.GetById <ActivityDO>(NewGuid(3)).Label = "newName";
            repository.GetById <ActivityDO>(NewGuid(3)).RemoveFromParent();
            repository.GetById <ActivityDO>(NewGuid(1)).ChildNodes.Add(new ActivityDO
            {
                Id    = NewGuid(4),
                Label = "Base4",
            });

            repository.SaveChanges();

            ValidateChanges(expectedChanges, provider.SubmittedChanges);
        }
        public void CanAddPlan()
        {
            var provider   = new PersistentPlanStorage(null);
            var cache      = new PlanCache(new ExpirationStrategyMock());
            var repository = new PlanRepository(new PlanStorage(cache, provider));
            var plan       = GenerateTestPlan();

            repository.Add(plan);

            repository.SaveChanges();

            var loadedPlan = provider.LoadPlan(Guid.Empty);

            AssertEquals(plan, loadedPlan);
            AssertEquals(plan, repository.GetById <PlanDO>(NewGuid(13)));
        }
예제 #7
0
        public Account GetAccountForUser(string username)
        {
            var accountId = userService.GetEntityByUsername(username).AccountId;

            if (accountId == null)
            {
                return(null);
            }
            var account = repository.GetById(accountId.Value);

            if (account.SettingsId > 0)
            {
                account.Settings = settingsRepository.GetById(account.SettingsId);
            }

            if (account.PlanId > 0)
            {
                account.Plan = planRepository.GetById(account.PlanId);
            }

            var cards = virtualCardRepository.GetByAccountId(account.Id);

            if (cards != null && cards.Count > 0)
            {
                account.VirtualCards = cards;
            }


            var th = transactionsRepository.GetByAccountId(account.Id);

            if (th != null && th.Count > 0)
            {
                account.Transactions = th;
            }


            return(account);
        }
예제 #8
0
        public void GetByIdShouldReturnValue()
        {
            var plan = _rep.GetById(1);

            Assert.AreNotEqual(null, plan);
        }