annotate Agendas/trunk/src/Agendas.Domain/IdentityContext.cs @ 94:db4b1e2cae49

Cambio del nombre de la clase Ponente a Persona Se agrega la clase Cuenta para identificar cada una de las cuentas con que se puede autenticar una persona Alta Automatica de cuentas de twitter creando la persona
author Nelo@Kenia.neluz.int
date Sat, 04 Jun 2011 12:11:17 -0300
parents 3059a5f8930f
children 0bca45e1e664
rev   line source
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
1 using System;
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
2 using AltNetHispano.Agendas.Domain.Exceptions;
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
3 using AltNetHispano.Agendas.Domain.Repositories;
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff changeset
4
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff changeset
5 namespace AltNetHispano.Agendas.Domain
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff changeset
6 {
54
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
7 public class IdentityContext
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
8 {
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
9 private static ISeguridad _current;
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
10 private static IPersonaRepository _personaRepository;
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff changeset
11
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
12 public static void Init(ISeguridad seguridad, IPersonaRepository personaRepository)
54
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
13 {
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
14 _current = seguridad;
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
15 _personaRepository = personaRepository;
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
16 }
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
17
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
18 private static ISeguridad Current
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
19 {
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
20 get
54
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
21 {
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
22 if (_current == null)
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
23 throw new IdentityContextNotConfiguredException();
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
24 return _current;
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
25 }
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
26 }
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff changeset
27
54
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
28 public static string GetUserName()
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
29 {
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
30 string username = Current.GetUserName();
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
31 if (string.IsNullOrWhiteSpace(username))
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
32 throw new UsuarioNoAutenticadoException();
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
33 return username;
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
34 }
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
35
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
36 public static Persona GetUsuario()
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
37 {
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
38 var cuenta = _personaRepository.GetCuenta(IdentityProviderEnum.Twitter, GetUserName());
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
39 return cuenta != null ? cuenta.Persona : null;
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
40 }
54
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
41 }
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff changeset
42 }