public usuarios updateusuarios(Usuario pUser) { string tipoFanatico = _manejadorDB.obtenerTipoUsuario(2).tipo; usuarios usuario = new usuarios(); usuario.nombre = pUser.Nombre; usuario.apellido = pUser.Apellido; usuario.username = pUser.NombreUsuario; usuario.contraseña = _encriptador.sha256Encrypt(pUser.Contrasena); usuario.correo = pUser.Email; usuario.FK_USUARIOS_ESTADOS = _manejadorDB.obtenerEstado(pUser.Estado).PK_estados; usuario.fechaInscripcion = pUser.FechaInscripcion; if (pUser.TipoUsuario == tipoFanatico) { Fanatico fanatico = (Fanatico)pUser; usuario.fechaNacimiento = fanatico.FechaNacimiento; usuario.telefono = fanatico.Telefono; usuario.FK_USUARIOS_PAISES = _manejadorDB.obtenerPais(fanatico.Pais).PK_paises; usuario.descripcion = fanatico.DescripcionPersonal; usuario.FK_USUARIOS_TIPOSUSUARIOS = _manejadorDB.obtenerTipoUsuario(fanatico.TipoUsuario).PK_tiposUsuarios; usuario.FK_USUARIOS_UNIVERSIDADES = _manejadorDB.obtenerUniversidad(fanatico.Universidad).PK_universidades; usuario.ubicacion = fanatico.Ubicacion; usuario.foto = fanatico.FotoPerfil; } else { usuario.FK_USUARIOS_TIPOSUSUARIOS = _manejadorDB.obtenerTipoUsuario(pUser.TipoUsuario).PK_tiposUsuarios; } return(usuario); }
public Usuario createUsuario(usuarios pUser) { Usuario user = null; string tipoColaborador = _manejadorDB.obtenerTipoUsuario(1).tipo; string tipoFanatico = _manejadorDB.obtenerTipoUsuario(2).tipo; if (_manejadorDB.obtenerTipoUsuario(pUser.FK_USUARIOS_TIPOSUSUARIOS).tipo == tipoFanatico) { string country = _manejadorDB.obtenerPais((int)pUser.FK_USUARIOS_PAISES).pais; string state = _manejadorDB.obtenerEstado(pUser.FK_USUARIOS_ESTADOS).estado; string university = _manejadorDB.obtenerUniversidad((int)pUser.FK_USUARIOS_UNIVERSIDADES).nombreUni; string user_type = _manejadorDB.obtenerTipoUsuario(pUser.FK_USUARIOS_TIPOSUSUARIOS).tipo; user = new Fanatico(pUser.nombre, pUser.apellido, pUser.username, pUser.contraseña, pUser.correo, state, pUser.fechaInscripcion, pUser.foto, pUser.fechaNacimiento.Value, pUser.telefono, country, pUser.descripcion, university, user_type, pUser.ubicacion); } else if (_manejadorDB.obtenerTipoUsuario(pUser.FK_USUARIOS_TIPOSUSUARIOS).tipo == tipoColaborador) { string stateColaborador = _manejadorDB.obtenerEstado(pUser.FK_USUARIOS_ESTADOS).estado; string user_typeColaborador = _manejadorDB.obtenerTipoUsuario(pUser.FK_USUARIOS_TIPOSUSUARIOS).tipo; user = new Colaborador(pUser.nombre, pUser.apellido, pUser.username, pUser.contraseña, pUser.correo, stateColaborador, pUser.fechaInscripcion, user_typeColaborador); } return(user); }
//Modificar usuario public Respuesta modificarUsuario(string tipoUsuario, dynamic pDatosUsuario, JArray pListaGenerosFavoritos) { Respuesta respuesta = null; usuarios usuario = null; //Elige el tipo de usuario switch (tipoUsuario) { case "fanatico": //Si el usuario es fanatico Fanatico fanaticoModificacion = new Fanatico(); fanaticoModificacion.deserialize(pDatosUsuario); fanaticoModificacion.Estado = _manejador.obtenerEstado(1).estado; fanaticoModificacion.TipoUsuario = _manejador.obtenerTipoUsuario(2).tipo; //Verificar que el usuario exista if (comprobarUsuarioUnico(fanaticoModificacion)) { return(_fabricaRespuestas.crearRespuesta(false, "Ya se encuentra en uso el nombre de usuario. Intente con otro por favor.")); } //Comprobar generos musicales favoritos seleccionados int[] arregloGenerosFavoritos = _serial.getArrayInt(pListaGenerosFavoritos); if (arregloGenerosFavoritos.Length > 10) { return(_fabricaRespuestas.crearRespuesta(false, "Se seleccionaron más del máximo de 10 géneros musicales favoritos. Por favor intente con 10.")); } List <generos> listaGenerosFavoritos = new List <generos>(); try { for (int i = 0; i < arregloGenerosFavoritos.Length; i++) { listaGenerosFavoritos.Add(_manejador.obtenerGenero(arregloGenerosFavoritos[i])); } } catch (Exception) { //Retorna respuesta de fallo return(_fabricaRespuestas.crearRespuesta(false, "Fallo al seleccionar los generos favoritos.")); } //Almacena modificacion de usuario respuesta = _fabricaRespuestas.crearRespuesta(true, fanaticoModificacion.serialize()); break; case "colaborador": //Si el usuario es colaborador Colaborador colaboradorModificacion = new Colaborador(); colaboradorModificacion.deserialize(pDatosUsuario); //Parse JSON colaboradorModificacion.Estado = _manejador.obtenerEstado(1).estado; //Rol colaborador colaboradorModificacion.TipoUsuario = _manejador.obtenerTipoUsuario(1).tipo; //Establece como activo if (comprobarUsuarioUnico(colaboradorModificacion)) { return(_fabricaRespuestas.crearRespuesta(false, "Ya se encuentra en uso el nombre de usuario. Intente con otro por favor.")); } //Almacena modificacion de colaborador //usuario = _manejador.añadirUsuario(_convertidor.updateusuarios(nuevoColaborador)); //Se almacena el nuevo usuario //nuevoColaborador = (Colaborador)_convertidor.createUsuario(usuarioCreado); //Almacena nuevo colaborador //Retorna respuesta exitosa respuesta = _fabricaRespuestas.crearRespuesta(true, colaboradorModificacion.serialize()); break; default: //Si el tipo de usuario no existe. Retorna mensaje error respuesta = _fabricaRespuestas.crearRespuesta(false, "Tipo de usuario no existente. Intente de nuevo por favor."); break; } return(respuesta); }
//Registrar nuevo usuario en el sistema public Respuesta registrarUsuario(string pRol, JObject pDatosUsuario, JArray pListaGeneroFavoritos) { Respuesta respuesta = null; usuarios usuarioCreado = null; try { if (pRol == "fanatico") //Si es fanatico { Fanatico nuevoFanatico = new Fanatico(); nuevoFanatico.deserialize(pDatosUsuario); //Parse JSON nuevoFanatico.Estado = _manejador.obtenerEstado(1).estado; //Establece estado activo nuevoFanatico.TipoUsuario = _manejador.obtenerTipoUsuario(2).tipo; //Rol fanatico if (comprobarUsuarioUnico(nuevoFanatico)) { return(_fabricaRespuestas.crearRespuesta(false, "Ya se encuentra en uso el nombre de usuario. Intente con otro por favor.")); } //Comprobar generos musicales favoritos seleccionados int[] arregloGenerosFavoritos = _serial.getArrayInt(pListaGeneroFavoritos); if (arregloGenerosFavoritos.Length > 10) { return(_fabricaRespuestas.crearRespuesta(false, "Se seleccionaron más del máximo de 10 géneros musicales favoritos. Por favor intente con 10.")); } List <generos> listaGenerosFavoritos = new List <generos>(); try { for (int i = 0; i < arregloGenerosFavoritos.Length; i++) { listaGenerosFavoritos.Add(_manejador.obtenerGenero(arregloGenerosFavoritos[i])); } } catch (Exception) { //Retorna respuesta de fallo return(_fabricaRespuestas.crearRespuesta(false, "Fallo al seleccionar los generos favoritos.")); } usuarioCreado = _manejador.añadirUsuario(_convertidor.updateusuarios(nuevoFanatico), listaGenerosFavoritos); //Se almacena el nuevo usuario nuevoFanatico = (Fanatico)_convertidor.createUsuario(usuarioCreado); //Retorna respuesta exitosa respuesta = _fabricaRespuestas.crearRespuesta(true, nuevoFanatico.serialize()); } if (pRol == "colaborador") //Si es colaborador { Colaborador nuevoColaborador = new Colaborador(); nuevoColaborador.deserialize(pDatosUsuario); //Parse JSON nuevoColaborador.Estado = _manejador.obtenerEstado(1).estado; //Rol colaborador nuevoColaborador.TipoUsuario = _manejador.obtenerTipoUsuario(1).tipo; //Establece como activo if (comprobarUsuarioUnico(nuevoColaborador)) { return(_fabricaRespuestas.crearRespuesta(false, "Ya se encuentra en uso el nombre de usuario. Intente con otro por favor.")); } usuarioCreado = _manejador.añadirUsuario(_convertidor.updateusuarios(nuevoColaborador)); //Se almacena el nuevo usuario nuevoColaborador = (Colaborador)_convertidor.createUsuario(usuarioCreado); //Almacena nuevo colaborador //Retorna respuesta exitosa respuesta = _fabricaRespuestas.crearRespuesta(true, nuevoColaborador.serialize()); } } catch (Exception) { //Respuesta de error respuesta = _fabricaRespuestas.crearRespuesta(false, "Error al ingresar usuario nuevo."); //respuesta = _fabricaRespuestas.crearRespuesta(false, "Error al ingresar usuario nuevo.", e.ToString()); } return(respuesta); }