public AplicacionQuery consultarAplicacion(string idAplicacion) { AplicacionQuery appQ = null; try { Aplicacion app = _ufw.RepositoryQueryAplicacion().Find(new AplicacionSpecification(idAplicacion)).FirstOrDefault(); if (app == null) { throw new Exception("La aplicación es inválida"); } appQ = new AplicacionQuery(); appQ.Roles = new List <RolQuery>(); foreach (Rol r in app.Roles) { RolQuery rolQ = new RolQuery(); rolQ.Id = r.Id; rolQ.Nombre = r.Display; rolQ.Descripcion = r.Descripcion; appQ.Roles.Add(rolQ); } } catch (Exception e) { throw e; } return(appQ); }
public IEnumerable <RolQuery> rolesPorAplicacion(string idAplicacion) { List <RolQuery> roles = null; try { Aplicacion app = _ufw.RepositoryQueryAplicacion().Find(new AplicacionSpecification(idAplicacion)).FirstOrDefault(); if (app == null) { throw new Exception("La aplicación es inválida"); } roles = new List <RolQuery>(); foreach (Rol r in app.Roles) { RolQuery rol = new RolQuery(); rol.Id = r.Id; rol.Nombre = r.Display; rol.Descripcion = r.Descripcion; roles.Add(rol); } } catch (Exception e) { throw e; } return(roles); }
public UsuarioQuery verRolesPorUsuario(string usuario) { UsuarioQuery usrQ = null; try { Usuario usrE = _ufw.UserIdentityRepository().ReadByNameUser(usuario); if (usrE == null) { throw new Exception("El usuario es inválido"); } List <Rol> roles = _ufw.RoleIdentityRepository().GetAllRoles(usrE).ToList(); usrQ = new UsuarioQuery(); usrQ.IdUsuario = usrE.Id; usrQ.Usuario = usrE.UserName; usrQ.Nombres = usrE.Nombres; usrQ.Apellidos = usrE.Apellidos; usrQ.Identificacion = usrE.Identificacion; usrQ.TelefonoMovil = usrE.PhoneNumber; usrQ.Identificacion = usrE.Identificacion; usrQ.Organizacion = usrE.Organizacion; usrQ.Cargo = usrE.Cargo; usrQ.Description = usrE.Description; usrQ.EsExterno = usrE.EsExterno; usrQ.Roles = new List <RolQuery>(); foreach (Rol r in roles) { RolQuery rolQ = new RolQuery(); rolQ.Id = r.Id; rolQ.Nombre = r.Display; rolQ.Descripcion = r.Descripcion; usrQ.Roles.Add(rolQ); } } catch (Exception e) { throw e; } return(usrQ); }
public AplicacionQuery registrarAplicacion(AplicacionCmd aplicacion) { AplicacionQuery appQ = null; AlgoritmoDeSeguridad algoritmo = null; try { if (aplicacion.EsValido()) { Aplicacion otherApp = _ufw.RepositoryQueryAplicacion().Find(new AplicacionSpecification(aplicacion.IdAplicacion)).FirstOrDefault(); if (otherApp == null) { if (aplicacion.PermiteJWT) { algoritmo = _ufw.RepositoryQueryAlgoritmo().Find(new AlgoritmoSpecification(aplicacion.AlgoritmoDeSeguridad)).FirstOrDefault(); if (algoritmo == null) { throw new Exception("El algoritmo es inválido"); } } Aplicacion app = new Aplicacion(); app.IdAplicacion = aplicacion.IdAplicacion; app.Nombre = aplicacion.Nombre; app.EmailContacto = aplicacion.EmailContacto; app.Estado = true; app.PermiteJWT = aplicacion.PermiteJWT; app.AlgoritmoDeSeguridad = aplicacion.AlgoritmoDeSeguridad; app.LlaveSecreta = aplicacion.LlaveSecreta; app.MinutosDeVida = aplicacion.MinutosDeVida; app.FechaExpiracionLlave = aplicacion.FechaExpiracionLlave; app.EstadoLlave = (aplicacion.PermiteJWT && (aplicacion.LlaveSecreta != null)) ? true : false; _ufw.BeginTransaction(); _ufw.RepositoryCommandAplicacion().Add(app); foreach (RolQuery r in aplicacion.Roles) { _ufw.RoleIdentityRepository().CreateRoleAsync(aplicacion.IdAplicacion, r.Nombre, r.Nombre, r.Descripcion); } _ufw.SaveChanges(); _ufw.Commit(); app = _ufw.RepositoryQueryAplicacion().Find(new AplicacionSpecification(app.IdAplicacion)).FirstOrDefault(); appQ = new AplicacionQuery(); appQ.IdAplicacion = app.IdAplicacion; appQ.Nombre = app.Nombre; appQ.EmailContacto = app.EmailContacto; appQ.PermiteJWT = app.PermiteJWT; appQ.AlgoritmoDeSeguridad = app.AlgoritmoDeSeguridad; appQ.NombreAlgoritmo = (algoritmo != null) ? algoritmo.Valor : ""; appQ.LlaveSecreta = app.LlaveSecreta; appQ.MinutosDeVida = app.MinutosDeVida; appQ.FechaExpiracionLlave = app.FechaExpiracionLlave; appQ.Roles = new List <RolQuery>(); foreach (Rol r in app.Roles) { RolQuery rolQ = new RolQuery(); rolQ.Id = r.Id; rolQ.Nombre = r.Display; rolQ.Descripcion = r.Descripcion; appQ.Roles.Add(rolQ); } } else { throw new Exception("Ya existe una Aplicación con ese Identificador"); } } else { throw new Exception("La configuración es inválida"); } } catch (Exception e) { _ufw.Rollback(); throw e; } return(appQ); }