annotate Agendas/trunk/src/Agendas.Domain/IdentityContext.cs @ 112:0bca45e1e664

Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
author Nelo@Kenia.neluz.int
date Sat, 11 Jun 2011 01:20:59 -0300
parents db4b1e2cae49
children 7a2eeb9e9bf9
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 {
112
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 94
diff changeset
38 var identification = new Identification(GetUserName());
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 94
diff changeset
39
0bca45e1e664 Pantalla de Perfil donde se puede asociar la cuenta de twitter al usuario existente
Nelo@Kenia.neluz.int
parents: 94
diff changeset
40 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
41 return cuenta != null ? cuenta.Persona : null;
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 54
diff changeset
42 }
54
3059a5f8930f Code cleanup
nelopauselli
parents: 50
diff changeset
43 }
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents:
diff changeset
44 }