Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Domain/IdentityContext.cs @ 119:8fa58a79656a
Historico
author | Nelo@Kenia.neluz.int |
---|---|
date | Wed, 22 Jun 2011 09:49:07 -0300 |
parents | 7a2eeb9e9bf9 |
children | 1deccd6c3cb2 |
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 | 7 public class IdentityContext |
8 { | |
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 | 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 | 21 { |
22 if (_current == null) | |
23 throw new IdentityContextNotConfiguredException(); | |
24 return _current; | |
25 } | |
26 } | |
50
3ebe89c88caa
Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff
changeset
|
27 |
54 | 28 public static string GetUserName() |
29 { | |
115 | 30 return Current.GetUserName(); |
31 } | |
32 | |
33 public static bool IsAuthenticated() | |
34 { | |
35 return !string.IsNullOrWhiteSpace(GetUserName()); | |
54 | 36 } |
94
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 public static Persona GetUsuario() |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
54
diff
changeset
|
39 { |
115 | 40 var userName = GetUserName(); |
41 if (string.IsNullOrWhiteSpace(userName)) | |
42 throw new UsuarioNoAutenticadoException(); | |
43 | |
44 var identification = new Identification(userName); | |
112
0bca45e1e664
Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
45 |
0bca45e1e664
Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents:
94
diff
changeset
|
46 var cuenta = _personaRepository.GetCuenta(identification.IdentityProvider, identification.LogonName); |
94
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
54
diff
changeset
|
47 return cuenta != null ? cuenta.Persona : null; |
db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents:
54
diff
changeset
|
48 } |
54 | 49 } |
50
3ebe89c88caa
Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff
changeset
|
50 } |