public async Task CreateAsync(Usuario usuario) { try { var c = crudUsuario.Exists <Usuario>(usuario); if (c != null) { // Ya existe un usuario con esos datos throw new BussinessException(10); } crudUsuario.Create(usuario); var mng = new Rol_UsuarioManager(); foreach (string rol in usuario.Roles) { var rolUsuario = new Rol_Usuario { IdRol = rol, IdUsuario = usuario.Identificacion }; mng.Create(rolUsuario); } Response response = await EnviarCorreoManager.GetInstance().ExecuteVerificacionUsuario(usuario); } catch (Exception ex) { ExceptionManager.GetInstance().Process(ex); } }
private string[] GetRolesUsuario(string id) { var mng = new Rol_UsuarioManager(); var rolUsuario = new Rol_Usuario { IdUsuario = id }; String[] roles = mng.RetrieveAllById(rolUsuario).Select(p => p.IdRol).ToArray(); return(roles); }
public async Task CreateYEnviar(LlaveQR llave, Usuario usuario) { try { UsuarioManager mngU = new UsuarioManager(); Usuario u = null; try { u = mngU.RetrieveAll().FindAll(FindCorreo).First <Usuario>(); } catch (Exception ex) { throw new BussinessException(12); } //validar si existe if (u != null) { //validar estado del usuario switch (u.ValorEstado) { case "3": //El usuario existe pero aún no ha verificado su cuenta throw new BussinessException(8); case "2": //El usuario existe pero su contraseña ha expirado throw new BussinessException(9); case "0": //El usuario existe pero se encuentra inactivo throw new BussinessException(9); } var mngRoles = new Rol_UsuarioManager(); var rolUsuario = new Rol_Usuario { IdUsuario = u.Identificacion, IdRol = "CLT" }; var roles = mngRoles.RetrieveAllById(rolUsuario); //validar que el usuario sea un cliente foreach (Rol_Usuario rol in roles) { if (rol.IdRol.Equals("CLT") == false) { throw new Exception("El usuario no es válido"); } } var QR = new LlaveQR(); do { llave.CodigoQR = RandomString(8); QR = crudLlaveQR.Retrieve <LlaveQR>(llave); } while (QR != null); llave.ImagenQR = getImagenQR(llave.CodigoQR); crudLlaveQR.Create(llave); await EnviarCorreoManager.GetInstance().ExecuteCorreoCodigoQR(u.Correo, llave); } else { //no existe ese usuario throw new BussinessException(12); } bool FindCorreo(Usuario usu) { if (usu.Correo == usuario.Correo) { return(true); } else { return(false); } } } catch (Exception ex) { ExceptionManager.GetInstance().Process(ex); } }
public List <Hotel> GetHotelesPorUsuario(string id) { var mngRoles = new Rol_UsuarioManager(); var rolUsuario = new Rol_Usuario { IdUsuario = id }; List <Hotel> allHoteles = RetrieveAll(); var roles = mngRoles.RetrieveAllById(rolUsuario); if (roles == null) { return(allHoteles.FindAll(FindHotelesActivos)); } foreach (Rol_Usuario rol in roles) { switch (rol.IdRol) { case "ADM": return(allHoteles); case "GRT": return(allHoteles.FindAll(FindHotelesGerente)); case "CLT": return(allHoteles.FindAll(FindHotelesActivos)); default: Hotel usuarioHotel = new Hotel() { IdGerente = id }; return(allHoteles = crudHotel.RetrieveAllByRol <Hotel>(usuarioHotel)); } } return(allHoteles.FindAll(FindHotelesActivos)); bool FindHotelesGerente(Hotel hotel) { if (hotel.IdGerente == id) { return(true); } else { return(false); } } bool FindHotelesActivos(Hotel hotel) { if (hotel.Estado == "Activo") { return(true); } else { return(false); } } }