Do you use SessionScope? Did you flush the scope or used another to check
the results?

What happens if you refresh the Cart? Does the deleted item show up again or
is it "just" not deleted from the database but not connected to the cart
anymore?

-Markus
2008/10/29 [EMAIL PROTECTED] <[EMAIL PROTECTED]>

>
> just grabbed this from the codecampserver trunk ...
>
> Add Sponsor
>
>        public virtual void AddSponsor(Sponsor sponsor)
>        {
>            _sponsors.Add(sponsor);
>        }
>
> Remove Sponsor
>
>        public virtual void RemoveSponsor(Sponsor sponsor)
>        {
>            _sponsors.Remove(sponsor);
>        }
>
> Unit Test
>
>                [Test]
>                public void ShouldDeleteSponsor()
>                {
>                        Conference conf = CreateConference("", "");
>                        IConferenceRepository repository = new
> ConferenceRepository(_sessionBuilder);
>                        Sponsor sponsorToDelete = CreateSponsor("test");
>                        Sponsor sponsorToKeep = CreateSponsor("test2");
>                        conf.AddSponsor(sponsorToDelete);
>                        conf.AddSponsor(sponsorToKeep);
>                        repository.Save(conf);
>                        getSession().Dispose();
>
>                        using (ISession session = getSession())
>                        {
>                                var confFromDb =
> session.Get<Conference>(conf.Id);
>                                confFromDb.RemoveSponsor(sponsorToDelete);
>                                repository.Save(confFromDb);
>                        }
>
>                        using (ISession session = getSession())
>                        {
>                                var confFromDb =
> session.Get<Conference>(conf.Id);
>                                var sponsors = new
> List<Sponsor>(confFromDb.GetSponsors());
>
>  Assert.That(sponsors.Contains(sponsorToKeep), Is.True);
>
>  Assert.That(sponsors.Contains(sponsorToDelete), Is.False);
>                        }
>                }
>
> Shows you can do what I'm describing with NHibernate. Not sure why it
> isn't working with AR.
>
> On Oct 28, 7:48 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> > Just as some background, I do have ICartRepo and CartRepo (I've been
> > oversimplifying everything). The model classes handles the logic
> > (calculating prices, update quantity, delete item, emptycart, etc.)
> > and the repo saves things when I'm done.
> >
> > This is where it gets really confusing for me. IMHO the cart should
> > know what items it has and how to get rid of them (or change their
> > quantity, or add a new item). Then saving the cart (and its contents)
> > should be handled by the repository. When I want the cart back, get it
> > from the repository. The real work happens in the model, not the repo.
> >
> > I don't understand why we want to have the repository managing what it
> > is in the cart. Doesn't this go against what we've been trying to
> > accomplish (a model that lives outside its persistence)?
> >
> > On Oct 28, 7:01 pm, "Victor Kornov" <[EMAIL PROTECTED]> wrote:
> >
> > > btw, is there a reason for that other than AR/NH being incapable (or
> we) to
> > > do that simpler way (i.e. just detaching it from relevan aggregate
> root)?
> >
> > > On Wed, Oct 29, 2008 at 1:07 AM, Ken Egozi <[EMAIL PROTECTED]> wrote:
> > > > create ICartRepository in the domain layer and ARCartRepository in
> the
> > > >> persistance layer,
> >
> > > > I second that.
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to