annotate Agendas/trunk/src/Agendas.Repositories.Tests/TestsHelper.cs @ 282:bc8dfbde0523

#123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
author juanjose.montesdeocaarbos
date Mon, 26 Dec 2011 14:21:44 -0300
parents 51faeabfb9d9
children 48ab8788bd19
rev   line source
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
1 using System;
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 222
diff changeset
2 using Agendas.NHibernate;
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
3 using AltNetHispano.Agendas.Domain;
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain.Repositories;
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
5
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
6 namespace Agendas.Repositories.Tests
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
7 {
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
8 public class TestsHelper
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
9 {
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
10 private readonly IPersonaRepository _repositoryPersona;
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
11 private readonly IPatrocinadorRepository _repositoryPatrocinador;
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
12
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
13 public TestsHelper(IPersonaRepository repositoryPersona, IPatrocinadorRepository repositoryPatrocinador)
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
14 {
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
15 _repositoryPersona = repositoryPersona;
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
16 _repositoryPatrocinador = repositoryPatrocinador;
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
17 }
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
18
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
19 public Guid GetOrCreatePonente(string nombre)
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
20 {
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
21 var persona = _repositoryPersona.GetByNombre(nombre);
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
22 if (persona == null)
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
23 {
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
24 persona = new Persona(nombre) { Twitter = nombre.Replace(" ", string.Empty).ToLower() };
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
25 _repositoryPersona.Save(persona);
235
c61954d24c8c Quitando ponente principal y utilizando siempre la lista de ponentes
nelopauselli
parents: 222
diff changeset
26
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
27 if (_repositoryPersona is AltNetHispano.Agendas.Repositories.NHibernate.PersonaRepository)
237
51faeabfb9d9 Todos los tests en verde quitando al ponente principal
nelopauselli
parents: 235
diff changeset
28 NhHelper.GetSessionFactory().GetCurrentSession().Flush();
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
29 }
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
30 return persona.Id;
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
31 }
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
32
282
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
33 public Guid GetOrCreatePatrocinador(string nombre)
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
34 {
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
35 var patrocinador = _repositoryPatrocinador.GetByNombre(nombre);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
36 if (patrocinador == null)
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
37 {
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
38 patrocinador = new Patrocinador(nombre);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
39 _repositoryPatrocinador.Save(patrocinador);
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
40
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
41 if (_repositoryPatrocinador is AltNetHispano.Agendas.Repositories.NHibernate.PatrocinadorRepository)
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
42 NhHelper.GetSessionFactory().GetCurrentSession().Flush();
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
43 }
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
44 return patrocinador.Id;
bc8dfbde0523 #123: Patrocinadores de las vans: Se verifica que para publicar una Van, debe tener al menos un Patrocinador.
juanjose.montesdeocaarbos
parents: 237
diff changeset
45 }
222
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
46 }
68b09c30b0d2 Separando los test de persistencia en un proyecto aparte
nelopauselli
parents:
diff changeset
47 }