annotate Agendas/trunk/src/Agendas.NHibernate/NHibernateSessionPerActionAttribute.cs @ 120:c3573defd18f

Agregado de Fecha, Usuario y Successful en TrackLog Modificacion de publicador de blog para usar TrackLog Agregado de TrackLog en el test de crud de eventos Fix en publicador de twitter para que no twitee si ya se encuentra en TrackLog pero con Successful en true
author Jorge@Jorge-PC
date Fri, 24 Jun 2011 21:18:21 -0300
parents c8099df941bd
children
rev   line source
67
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
1 using System.Web.Mvc;
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
2 using NHibernate;
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
3 using NHibernate.Context;
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
4
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
5 namespace Agendas.NHibernate
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
6 {
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
7 public class NHibernateSessionPerActionAttribute : ActionFilterAttribute
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
8 {
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
9 private readonly ISessionFactory _sessionFactory;
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
10
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
11 public NHibernateSessionPerActionAttribute(ISessionFactory sessionFactory)
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
12 {
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
13 _sessionFactory = sessionFactory;
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
14 }
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
15
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
16 public override void OnActionExecuting(ActionExecutingContext filterContext)
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
17 {
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
18 var session = _sessionFactory.OpenSession();
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
19 CurrentSessionContext.Bind(session);
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
20
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
21 base.OnActionExecuting(filterContext);
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
22 }
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
23
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
24 public override void OnResultExecuted(ResultExecutedContext filterContext)
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
25 {
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
26 base.OnResultExecuted(filterContext);
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
27
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
28 var session = _sessionFactory.GetCurrentSession();
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
29
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
30 session.Flush();
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
31 session.Close();
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
32
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
33 }
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
34 }
c8099df941bd Implementando persistencia con NHibernate en el proyecto web
nelopauselli
parents:
diff changeset
35 }