public IHttpActionResult ReenviarCodActivacion([FromBody] UsuarioActivoDto usuario) { try { NegocioUsuario negocioUsuario = new NegocioUsuario(); List <UsuarioActivoDto> CodigoResultante = negocioUsuario.ReeviarCodActivacion(usuario); return(Content(HttpStatusCode.OK, CodigoResultante)); } catch (Exception ex) { log.EscribirLogError("Error al reeenviar el codigo de activación", ex); return(Content(HttpStatusCode.InternalServerError, Mensajes.DescFallo)); } }
public IHttpActionResult ReportTransactionBonoFromPOS([FromBody] UsuarioActivoDto usuario) { try { NegocioUsuario negocioUsuario = new NegocioUsuario(); List <respuestaActivacionDto> activacionResultante = negocioUsuario.ActivacionUsuario(usuario); return(Content(HttpStatusCode.OK, activacionResultante)); } catch (ExceptionControlada ex) { log.EscribirLogError(ex.Message, ex); return(Content(HttpStatusCode.NotFound, new ApiException(HttpStatusCode.NotFound, ex.Message, ex))); } catch (Exception ex) { log.EscribirLogError("Error al activar usuario", ex); return(Content(HttpStatusCode.InternalServerError, Mensajes.DescFallo)); } }
/// <summary> /// Metodo para reenviar codigo de activacion /// </summary> /// <param name="usuario"></param> /// <returns></returns> public List <UsuarioActivoDto> ReeviarCodActivacion(UsuarioActivoDto usuario) { using (UnitOfWork unitOfWork = new UnitOfWork()) { var usuarioExistente = unitOfWork.UsuarioRepositorio.ObtenerPorID(Convert.ToInt32(usuario.codUsuario)); if (usuario == null) { throw new ExceptionControlada(Mensajes.UsuarioNoExiste); } if (usuarioExistente != null) { var codigoActivacion = GenerarCodigoActivacion(); NegocioDominio negocioDominio = new NegocioDominio(); Dominio dominioEncontrado = negocioDominio.ConsultarPorId(Enums.EnumTablaDominio.vencimiento_token_activacion.ToString()); //Actualizo en codigo activacion en el registro en la base de datos usuarioExistente.codUsuario = Convert.ToInt32(usuario.codUsuario); usuarioExistente.codigoActivacion = codigoActivacion; usuarioExistente.codActivacionExpira = DateTime.Now.AddMinutes(int.Parse(dominioEncontrado.valor)); unitOfWork.UsuarioRepositorio.Actualizar(usuarioExistente); unitOfWork.Save(); //Envia Email de codigo de activacion EnviarEmail(usuarioExistente.correo, codigoActivacion); } List <UsuarioActivoDto> ActivacionUsuario = new List <UsuarioActivoDto>(); ActivacionUsuario.Add(new UsuarioActivoDto { codUsuario = Convert.ToString(usuarioExistente.codUsuario), codigoActivacion = usuarioExistente.codigoActivacion, activo = usuarioExistente.activo }); return(ActivacionUsuario); } }
/// <summary> /// Metodo para activar el usuario /// </summary> /// <param name="usuario"></param> /// <returns></returns> public List <respuestaActivacionDto> ActivacionUsuario(UsuarioActivoDto usuario) { List <respuestaActivacionDto> respuesta = new List <respuestaActivacionDto>(); int error = 0; if (string.IsNullOrEmpty(usuario.codUsuario)) { respuesta.Add(new respuestaActivacionDto() { codRespuesta = Mensajes.codErrorUsuarioVacio, codUsuario = Mensajes.MsgUsuarioVacio, codigoActivacion = null, activo = false }); error = 1; } if (string.IsNullOrEmpty(usuario.codigoActivacion)) { respuesta.Add(new respuestaActivacionDto() { codRespuesta = Mensajes.codErrorTokenVacio, codUsuario = Mensajes.MsgTokenVacio, codigoActivacion = null, activo = false }); error = 1; } if (error == 0) { Usuario usuarioEncontrado = this.ConsultarPorId(Convert.ToInt32(usuario.codUsuario)); if (usuarioEncontrado.IsNull()) { respuesta.Add(new respuestaActivacionDto() { codRespuesta = Mensajes.codErrorMsgUsuarioNoExistente, codUsuario = Mensajes.MsgUsuarioNoExistente, codigoActivacion = null, activo = false }); error = 1; } if (!usuarioEncontrado.codigoActivacion.Equals(usuario.codigoActivacion)) { respuesta.Add(new respuestaActivacionDto() { codRespuesta = Mensajes.codMsgcodMsgtokenErroneo, codUsuario = Mensajes.MsgcodMsgtokenErroneo, codigoActivacion = null, activo = false }); error = 1; } if (usuarioEncontrado.codActivacionExpira < DateTime.Now) { respuesta.Add(new respuestaActivacionDto() { codRespuesta = Mensajes.codMsgtokenExpiraErroneo, codUsuario = Mensajes.MsgtokenExpiraErroneo, codigoActivacion = null, activo = false }); error = 1; } // pasa todas las validaciones realizo la activacion del usuario if (error == 0) { using (UnitOfWork unitOfWork = new UnitOfWork()) { usuarioEncontrado.codUsuario = usuarioEncontrado.codUsuario; usuarioEncontrado.activo = true; unitOfWork.UsuarioRepositorio.Actualizar(usuarioEncontrado); unitOfWork.Save(); respuesta.Add(new respuestaActivacionDto() { codRespuesta = "1", codUsuario = Convert.ToString(usuarioEncontrado.codUsuario), codigoActivacion = usuarioEncontrado.codigoActivacion, activo = true }); } } } return(respuesta); }