comparison 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
comparison
equal deleted inserted replaced
93:65f0b3d70c18 94:db4b1e2cae49
1 using AltNetHispano.Agendas.Domain.Exceptions; 1 using System;
2 using AltNetHispano.Agendas.Domain.Exceptions;
3 using AltNetHispano.Agendas.Domain.Repositories;
2 4
3 namespace AltNetHispano.Agendas.Domain 5 namespace AltNetHispano.Agendas.Domain
4 { 6 {
5 public class IdentityContext 7 public class IdentityContext
6 { 8 {
7 private static ISeguridad _current; 9 private static ISeguridad _current;
10 private static IPersonaRepository _personaRepository;
8 11
9 public static ISeguridad Current 12 public static void Init(ISeguridad seguridad, IPersonaRepository personaRepository)
10 { 13 {
11 private get 14 _current = seguridad;
15 _personaRepository = personaRepository;
16 }
17
18 private static ISeguridad Current
19 {
20 get
12 { 21 {
13 if (_current == null) 22 if (_current == null)
14 throw new IdentityContextNotConfiguredException(); 23 throw new IdentityContextNotConfiguredException();
15 return _current; 24 return _current;
16 } 25 }
17 set { _current = value; }
18 } 26 }
19 27
20 public static string GetUserName() 28 public static string GetUserName()
21 { 29 {
22 string username = Current.GetUserName(); 30 string username = Current.GetUserName();
23 if (string.IsNullOrWhiteSpace(username)) 31 if (string.IsNullOrWhiteSpace(username))
24 throw new UsuarioNoAutenticadoException(); 32 throw new UsuarioNoAutenticadoException();
25 return username; 33 return username;
26 } 34 }
35
36 public static Persona GetUsuario()
37 {
38 var cuenta = _personaRepository.GetCuenta(IdentityProviderEnum.Twitter, GetUserName());
39 return cuenta != null ? cuenta.Persona : null;
40 }
27 } 41 }
28 } 42 }