Mercurial > altnet-hispano
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 } |