示例#1
0
        public bool RequestRestorePassword([FromBody] ResendEmailViewModel model)
        {
            if (!model.IsValid())
            {
                return(false);
            }
            model.Trim();
            model.Correo = model.Correo?.ToUpper();

            var user = _dbContext.Usuarios.FirstOrDefault(x => x.Correo.ToUpper() == model.Correo && x.Estado == Estado.Activo);

            if (user is null)
            {
                return(false);
            }

            var oldRegistries = _dbContext.Registros.Where(x => x.Usuario.UsuarioId == user.UsuarioId);

            if (oldRegistries.Count() > 0)
            {
                _dbContext.RemoveRange(oldRegistries);
                _dbContext.SaveChanges();
            }

            var register = new Registro(user);

            _dbContext.Registros.Add(register);
            _dbContext.SaveChanges();

            _mail.SendRequestRestorePassword(user.Correo, $"{user.Nombre} {user.Apellidos}", register.Token);

            return(true);
        }
示例#2
0
        public bool ReSendConfirmationEmail([FromBody] ResendEmailViewModel model)
        {
            if (!model.IsValid())
            {
                return(false);
            }
            model.Trim();
            model.Correo = model.Correo.ToUpper();

            var oldregistries = _dbContext.Registros.Where(x => x.Usuario.Correo.ToUpper() == model.Correo);

            if (oldregistries != null)
            {
                _dbContext.RemoveRange(oldregistries);
                _dbContext.SaveChanges();
            }

            var user = _dbContext.Usuarios.FirstOrDefault(x => x.Correo.ToUpper() == model.Correo);

            if (user is null)
            {
                return(false);
            }

            var register = new Registro(user);

            _dbContext.Registros.Add(register);
            _dbContext.SaveChanges();

            _mail.SendConfirmationMail(user.Correo, $"{user.Nombre} {user.Apellidos}", register.Token);

            return(true);
        }