Exemple #1
0
        /// <summary>
        /// Guarda los cambios del modelo.
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public bool Edit(User user)
        {
            UserMapper mapper = new UserMapper();

            if (!IsValidForEdit(user))
            {
                return(false);
            }

            user.Lastupdate = DateTime.Now;

            //Deberían ser opciones que el administrador pudiera seleccionar
            //user.Locked = true;
            //user.Active = false;

            if (!mapper.Edit(user))
            {
                string errorDescription = "Las modifiaciones no se han podido guardar.";
                log.AddLogWarn("Edit", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            return(true);
        }
Exemple #2
0
        public bool ActivateAccount(string hash)
        {
            if (!IsValidHash(hash))
            {
                return(false);
            }
            string activation = hash.Substring(0, 32);
            int    userId     = int.Parse(hash.Substring(32, hash.Length - 32));

            UserMapper userMapper = new UserMapper();
            User       user       = userMapper.Get(userId);

            if (user == null)
            {
                // Siempre se devuelve true para ofuscar
                string errorDescription = "¡Parece que estamos teniendo inconvenientes con el sistema!";
                log.AddLogCritical("ActivateAccount", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            if (SecurityHelper.IsEquivalent(user.Mail + user.Lastupdate.Minute, activation))
            {
                //activo!
                user.Locked     = false;
                user.Active     = true;
                user.Lastupdate = DateTime.Now;

                if (!userMapper.Edit(user))
                {
                    // Siempre se devuelve true para ofuscar
                    string errorDescription = "Quizá quieras solicitar la contraseña de nuevo... el sistema no está actualmente disponible (solo es momentáneo!)";
                    log.AddLogCritical("ActivateAccount", errorDescription, this);
                    AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                    return(false);
                }

                return(true);
            }
            else
            {
                // Siempre se devuelve true para ofuscar // bería mostrar el formulario? cuando?
                string errorDescription = "Excelente! gracias por recuperar tu password :D";
                log.AddLogWarn("Edit", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(true);
            }
        }