annotate Agendas/trunk/src/Agendas.Repositories.Memory/PonenteRepository.cs @ 214:7d838e7d83b3

Se soluciona ticket 176. Se agrega validación para que no se pueda agendar otro evento con el mismo título, buscando los eventos que no estén en estado propuesto.
author alabra
date Wed, 24 Aug 2011 19:49:18 -0300
parents 2dbb15f4510f
children 50442a103281
rev   line source
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
1 using System;
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
2 using System.Collections.Generic;
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
3 using System.Linq;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
5 using AltNetHispano.Agendas.Domain.Repositories;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
6
34
475be11edf56 Ajuste en los nombre de los assemblies y namespaces
nelo@MTEySS.neluz.int
parents: 24
diff changeset
7 namespace AltNetHispano.Agendas.Repositories.Memory
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
8 {
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
9 public class PersonaRepository : RepositoryBase<Persona>, IPersonaRepository
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
10 {
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
11 public Persona GetByNombre(string nombre)
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
12 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
13 return Objects.Values.SingleOrDefault(p => p.Nombre == nombre);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
14 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
15
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
16 public Cuenta GetCuenta(IdentityProviderEnum identityProvider, string username)
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
17 {
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
18 var cuentas = from p in Objects.Values
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
19 select p.Cuentas.SingleOrDefault(c => c.IdentityProvider == identityProvider && c.LogonName == username);
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
20
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
21 return cuentas.Where(c => c != null).SingleOrDefault();
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
22 }
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 56
diff changeset
23
143
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 94
diff changeset
24 public Persona GetByTwitter(string username)
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 94
diff changeset
25 {
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 94
diff changeset
26 return Objects.Values.SingleOrDefault(p => p.Twitter == username);
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 94
diff changeset
27 }
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 94
diff changeset
28
2dbb15f4510f Asociar Twitter a Persona existente
Nelo@Guinea.neluz.int
parents: 94
diff changeset
29 public IList<Persona> GetAll()
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
30 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
31 return Objects.Values.ToList();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
32 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
33
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
34 public static void Clear()
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
35 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
36 Objects.Clear();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
37 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
38 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
39 }