Exemplo n.º 1
0
        public ChangePasswordState ChangePassword(ChangePassword password)
        {
            if (!ValidateHelper.CheckPassword(password.NewPassword))
            {
                return(ChangePasswordState.InvalidNewPassword);
            }

            var user = _userDal.Get(password.Id);

            if (user == null)
            {
                return(ChangePasswordState.InvalidOpt);
            }

            if (!PasswordEncrypt.CheckPassword(password.OldPassword, user.Salt, user.Password))
            {
                return(ChangePasswordState.InvalidOldPassword);
            }

            if (!_userDal.UpdatePassword(password.Id,
                                         PasswordEncrypt.GetEncryptPassword(password.NewPassword, user.Salt)))
            {
                return(ChangePasswordState.Failed);
            }

            return(ChangePasswordState.Successed);
        }
        public async Task <UserResponseDto> Register(RegisterRequestDto dto)
        {
            await this.UserExists(dto.Username);

            this.ValidatePassword(dto.Password);

            var passwordResult = PasswordEncrypt.ComputeHash(dto.Password);

            var user = new User
            {
                Username     = dto.Username,
                FirstName    = dto.FirstName,
                LastName     = dto.LastName,
                Role         = Role.User,
                Password     = passwordResult.Hash,
                PasswordSalt = passwordResult.Salt
            };

            this.dbContext.Users.Add(user);

            await this.dbContext.SaveChangesAsync();

            return(new UserResponseDto
            {
                Id = user.Id,
                Username = user.Username,
                Token = this.tokenService.CreateToken(user),
                Role = user.Role,
                FirstName = user.FirstName,
                LastName = user.LastName
            });
        }
Exemplo n.º 3
0
        public Resultado AtualizarFull(UsuarioModel model)
        {
            Resultado resultado = DadosValidos(model);

            resultado.Acao = "Atualização de Usuário";

            if (resultado.Inconsistencias.Count == 0)
            {
                Usuario usuario = _data.Obter(model.ID);

                if (usuario == null)
                {
                    resultado.Inconsistencias.Add(
                        "Usuário não encontrado");
                }
                else
                {
                    _mapper.Map(model, usuario);
                    usuario.Senha = PasswordEncrypt.Hash(usuario.Senha);
                    _data.Salvar(usuario);
                }
            }

            return(resultado);
        }
Exemplo n.º 4
0
    public void Test1()
    {
        const int DataN = 100;
        const int PassN = 80;

        var data = new byte[DataN];

        for (var i = 0; i < DataN; i++)
        {
            data[i] = (byte)i;
        }

        var pass = new string[PassN];
        var sb   = new StringBuilder();

        for (var i = 0; i < PassN; i++)
        {
            pass[i] = sb.ToString();
            sb.Append((char)('!' + i));
        }

        for (var i = 0; i < DataN; i++)
        {
            var dataSpan = data.AsSpan(0, i);
            for (var j = 0; j < PassN; j++)
            {
                var encrypted = PasswordEncrypt.Encrypt(dataSpan, pass[j]);
                PasswordEncrypt.TryDecrypt(encrypted, pass[j], out var decrypted).IsTrue();
                dataSpan.SequenceEqual(decrypted.Span).IsTrue();
            }
        }
    }
        public async Task <UserResponseDto> Login(LoginRequestDto dto)
        {
            var user = await this.dbContext
                       .Users
                       .SingleOrDefaultAsync(u => u.Username == dto.Username);

            if (user == null)
            {
                throw new InvalidOperationException("Invalid username");
            }

            var passwordHash = PasswordEncrypt.ComputeHash(dto.Password, user.PasswordSalt);

            if (user.Password != passwordHash)
            {
                throw new InvalidOperationException("Invalid password");
            }

            return(new UserResponseDto
            {
                Id = user.Id,
                Username = user.Username,
                Token = tokenService.CreateToken(user),
                Role = user.Role,
                FirstName = user.FirstName,
                LastName = user.LastName
            });
        }
Exemplo n.º 6
0
        public UsuarioModel ObterPorEmailSenha(string email, string senha)
        {
            var     hash    = PasswordEncrypt.Hash(senha);
            Usuario usuario = _data.ObterPorEmailSenha(email, hash);

            return(_mapper.Map <UsuarioModel>(usuario));
        }
Exemplo n.º 7
0
    static void Main()
    {
        PasswordEncrypt PasswordEncryptObject = new PasswordEncrypt();
        Program         program = new Program(); //This is a bit dodgy?

        Console.WriteLine("Enter password to be encrypted:");
        string plaintext = Console.ReadLine();

        string encoded = PasswordEncryptObject.SetPassword(plaintext);

        Console.WriteLine($"Encrypted output is:{encoded}");
        program.ConsoleContinue();
        Console.ReadKey();

        string plaintext2 = PasswordEncryptObject.GetClearTextPassword(encoded);

        Console.WriteLine($"Decrypted. Plaintext is:{plaintext2}");
        program.ConsoleContinue();
        Console.ReadKey();

        Console.WriteLine("Select hash type. '2' for version 2 or '3' for version 3");
        UInt32 option = program.GetOption();
        string hash   = program.Hash(plaintext2, option);

        Console.WriteLine($"Hashed output is: {hash}");
        Console.WriteLine("Press any key to exit");
        Console.ReadKey();
    }
Exemplo n.º 8
0
        public async Task <GenericCommandResult> Handle(NewUsuarioCommand request, CancellationToken cancellationToken)
        {
            var usuario = await _usuarioRepository.Get(request.Login);

            if (usuario != null)
            {
                return(GenericCommandResult.Failure(new List <string> {
                    ErrorMessages.UserAlreadyExists
                }));
            }

            var validator = new NewUsuarioCommandValidator();
            var results   = validator.Validate(request);

            if (!results.IsValid)
            {
                return(GenericCommandResult.Failure(results.Errors));
            }


            var passEncrypt = PasswordEncrypt.Encrypt(request.Senha);
            var enderecos   = request.Enderecos.Select(s => new Endereco(s.Rua, s.Numero, s.Complemento, s.Bairro, s.Cep, s.Cidade, s.Estado)).ToList();
            var Usuario     = new Usuario(request.Nome, request.Login, passEncrypt, request.DDD, request.Telefone, enderecos);
            await _usuarioRepository.Create(Usuario);

            return(GenericCommandResult.Success());
        }
Exemplo n.º 9
0
        /// <summary>
        /// Método para criar/registar um utilizador na base de dados
        /// </summary>
        /// <param name="model">Modelo do utilizador com os dados</param>
        /// <returns>Utilizador caso seja adicionado com sucesso,
        /// senão retorna NULL</returns>
        public User Create(User model)
        {
            try
            {
                using (SqlCommand cmd = _connection.Fetch().CreateCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = "INSERT INTO dbo.[User] (Email, Password, PasswordSalt, FirstName, LastName, Localization)" +
                                      "VALUES (@Email, @Pass, @Salt, @Fname, @Lname, @Local); SELECT @@Identity";

                    cmd.Parameters.Add("@Email", SqlDbType.NVarChar).Value = model.Email;
                    var password = PasswordEncrypt.Encrypt(model.Password);
                    cmd.Parameters.Add("@Pass", SqlDbType.NVarChar).Value  = password.Item2;
                    cmd.Parameters.Add("@Salt", SqlDbType.NVarChar).Value  = password.Item1;
                    cmd.Parameters.Add("@Fname", SqlDbType.NVarChar).Value = model.FirstName;
                    cmd.Parameters.Add("@Lname", SqlDbType.NVarChar).Value = model.LastName;
                    cmd.Parameters.Add("@Local", SqlDbType.NVarChar).Value = model.Localization;

                    model.Id = int.Parse(cmd.ExecuteScalar().ToString());
                }

                return(model);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 10
0
        public User Authenticate(string email, string password)
        {
            // Caso o email ou a password sejam nulas ou campos vazios
            if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password))
            {
                return(null);
            }

            UserDAO userDAO = new UserDAO(_connection);
            User    user    = userDAO.FindUserByEmail(email);

            // Caso o utilizador seja nulo ou não exista
            if (user == null)
            {
                return(null);
            }

            // Necessário verificar a hash da password do utilizador para que o mesmo se autentique. Caso não seja igual não faz login
            if (!PasswordEncrypt.VerifyHash(password, user.Password, user.PasswordSalt))
            {
                return(null);
            }

            return(user);
        }
Exemplo n.º 11
0
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                User user = await _context.Set <User>().FirstOrDefaultAsync(u => u.Email == model.Email);

                if (user == null)
                {
                    string pas = PasswordEncrypt.EncryptStringAes(model.Password, _config.Value.Salt);


                    _context.Set <User>().Add(new User
                    {
                        Email       = model.Email,
                        Password    = pas,
                        FirstName   = model.FirstName,
                        MiddleName  = model.MiddleName,
                        LastName    = model.LastName,
                        MobilePhone = model.MobilePhone,
                        Created     = DateTime.UtcNow
                    });
                    await _context.SaveChangesAsync();

                    await Authenticate(model.Email);

                    return(RedirectToAction("Index", "Home"));
                }

                ModelState.AddModelError("", "Некорректные логин и(или) пароль");
            }
            return(View(model));
        }
Exemplo n.º 12
0
        public async Task <GenericCommandResult> Handle(AutenticarUsuarioCommand request, CancellationToken cancellationToken)
        {
            var validator = new AutenticarUsuarioCommandValidator();
            var results   = validator.Validate(request);

            if (!results.IsValid)
            {
                return(GenericCommandResult.Failure(results.Errors));
            }

            var usuario = await _usuarioRepository.Get(request.Login, PasswordEncrypt.Encrypt(request.Senha));

            if (usuario is null)
            {
                return(GenericCommandResult.Failure(new List <string> {
                    ErrorMessages.WrongUser
                }));
            }

            var retorno = new UsuarioModel {
                Login = usuario.EmailLogin, Nome = usuario.Nome, Token = Token.GenerateNewToken(usuario.EmailLogin)
            };

            return(GenericCommandResult.Success(retorno));
        }
Exemplo n.º 13
0
        //Function To Insert Values And Registration Details Of New Customer
        protected void RegisterDetails()
        {
            try
            {
                con.Open();
                string       custemail          = TextBoxEmail.Text;
                string       checkexistingemail = "select CustEmail from registrationdetails where CustEmail like '" + custemail + "';";
                MySqlCommand cm = new MySqlCommand(checkexistingemail, con);

                if (cm.ExecuteScalar() == null)
                {
                    //inserting into registrationdetails table
                    string       pass = PasswordEncrypt.EncryptText(TextBoxPassword.Text);
                    MySqlCommand cmd  = new MySqlCommand("insert into registrationdetails (CustUserName,CustEmail,CustPassword,CustAddress,CustPhone,CustCountry) values('" + TextBoxUserName.Text + "','" +
                                                         custemail + "','" + pass + "','" + TextBoxAddress.Text + "','" + TextBoxPhone.Text + "','" + DropDownListCountry.Text + "')", con);
                    cmd.ExecuteNonQuery();
                    string       getCustID = "select CustUserID from registrationdetails where CustEmail like '" + custemail + "';";
                    MySqlCommand cmd1      = new MySqlCommand(getCustID, con);
                    Int32        custID    = (Int32)cmd1.ExecuteScalar();

                    //inserting into vehicledetails table
                    MySqlCommand cmd2 = new MySqlCommand("insert into vehicledetails (VehicleNo,VehicleBrand,VehicleModel,EngineNo,ChassisNo,CustUserID) values('" + TextBoxVehicleNumber.Text + "','" +
                                                         TextBoxVehicleBrand.Text + "','" + TextBoxVehicleModel.Text + "','" + TextBoxVehicleEngineNumber.Text + "','" + TextBoxVehicleChassisNumber.Text + "','" + custID + "')", con);
                    cmd2.ExecuteNonQuery();

                    //get vehicleID
                    string       getVehicleID = "select VehicleID from vehicledetails where VehicleNo like '" + TextBoxVehicleNumber.Text + "';";
                    MySqlCommand cmd3         = new MySqlCommand(getVehicleID, con);
                    Int32        vehicleID    = (Int32)cmd3.ExecuteScalar();

                    //get Employee ID
                    string       getemployee = "select empid from employeedetails where empemail like '" + Session["empname"].ToString() + "';";
                    MySqlCommand cmd4        = new MySqlCommand(getemployee, con);
                    Int32        getEmpID    = (Int32)cmd4.ExecuteScalar();

                    //inserting into jobcarddetails
                    MySqlCommand cmd5 = new MySqlCommand("insert into jobcarddetails (VehicleProblem,ServiceStatus,CustUserID,VehicleID,EmpID) values('" + TextBoxVehicleProblem.Text + "','Pending'," + custID + "," + vehicleID + "," + getEmpID + ");", con);
                    cmd5.ExecuteNonQuery();

                    Label1.Visible = true;
                    Label1.Text    = "Registration Successfull";
                    resetValues();
                }
                else
                {
                    Label1.Visible = true;
                    Label1.Text    = "Cannot Register As Customer Already Exists! Please Choose Existing Customer!!";
                    resetValues();
                }
            }
            catch (Exception e)
            {
                Response.Write(e.ToString());
            }
            finally
            {
                con.Close();
            }
        }
Exemplo n.º 14
0
        private void DataCreate()
        {
            var result = _controller.Get();

            if (result == null || !result.Any(p => p.Email == "*****@*****.**"))
            {
                DataPopulatorTest.Init(PasswordEncrypt.Hash("12345"));
            }
        }
Exemplo n.º 15
0
        public void UpdateProfile(UserEntity user)
        {
            SqlConnection sqlConnection = dbConnection.GetDbConnection();
            SqlCommand    command       = commandInstance.GetSqlCommand();
            bool          newPassword   = false;
            UserEntity    oldUser       = null;

            try
            {
                bool hasUserEmptyFields = ValidateNullOrEmptyFields(user);
                if (user == null)
                {
                    throw new PersonalizedException("El usuario no puede ser nulo o vacío");
                }
                else if (hasUserEmptyFields)
                {
                    throw new PersonalizedException("No puedes dejar campos vacíos");
                }
                else if (string.IsNullOrEmpty(user.Password))
                {
                    oldUser     = GetUserById(user.UserId);
                    newPassword = false;
                }

                sqlConnection.Open();
                command.Connection  = sqlConnection;
                command.CommandText = "UpdateUser";
                command.CommandType = System.Data.CommandType.StoredProcedure;
                command.Parameters.Clear();
                command.Parameters.Add(new SqlParameter("@UserId", user.UserId));
                command.Parameters.Add(new SqlParameter("@FirstName", user.FirstName));
                command.Parameters.Add(new SqlParameter("@LastName", user.LastName));
                command.Parameters.Add(new SqlParameter("@CellPhone", user.CellPhone));
                command.Parameters.Add(new SqlParameter("@Genre", user.Genre));
                command.Parameters.Add(new SqlParameter("@Email", user.Email));
                if (newPassword)
                {
                    command.Parameters.Add(new SqlParameter("@Password", PasswordEncrypt.Encrypt(user.Password)));
                }
                else
                {
                    command.Parameters.Add(new SqlParameter("@Password", oldUser.Password));
                }
                command.Parameters.Add(new SqlParameter("@LastModificationDate", DateTime.Today));
                command.Parameters.Add(new SqlParameter("@Active", user.Active));
                command.ExecuteNonQuery();
                DBConnection.CloseConnection(sqlConnection);
            }
            catch (Exception exception)
            {
                throw new PersonalizedException(exception.Message);
            }
            finally
            {
                DBConnection.CloseConnection(sqlConnection);
            }
        }
Exemplo n.º 16
0
        public void MD5EncryptTest()
        {
            string md5_str  = string.Empty;
            string expected = string.Empty;
            string actual;

            actual = PasswordEncrypt.MD5Encrypt(md5_str);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("验证此测试方法的正确性。");
        }
Exemplo n.º 17
0
        public void MD5QQEncryptTest()
        {
            long   uin        = 0;
            string password   = string.Empty;
            string verifyCode = string.Empty;
            string expected   = string.Empty;
            string actual;

            actual = PasswordEncrypt.MD5QQEncrypt(uin, password, verifyCode);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("验证此测试方法的正确性。");
        }
        public ActionResult AdicionarVendedor(Vendedor vendedor, string senha)
        {
            vendedor.SaltSenha = PasswordEncrypt.GetSalt();
            vendedor.Senha     = PasswordEncrypt.GetHash(senha, vendedor.SaltSenha);

            using (var dao = new VendedorDaoEntity())
            {
                dao.Adicionar(vendedor);
            }

            return(RedirectToAction("ListarVendedores"));
        }
Exemplo n.º 19
0
        public ActionResult AdicionarVenda(FormularioVenda formularioVenda)
        {
            Cliente cliente;

            using (var dao = new ClienteDaoEntity())
            {
                cliente = dao.Pegar(formularioVenda.Cpf);
            }
            Vendedor vendedor;

            using (var dao = new VendedorDaoEntity())
            {
                vendedor = dao.Pegar(Convert.ToInt32(System.Web.HttpContext.Current.Session["IdVendedor"].ToString()));
            }

            formularioVenda.Venda.IdCliente   = cliente.IdCliente;
            formularioVenda.Venda.IdVendedor  = vendedor.IdVendedor;
            formularioVenda.Venda.DataDaVenda = DateTime.Now;

            if (PasswordEncrypt.CompareHash(formularioVenda.Senha, vendedor.Senha, vendedor.SaltSenha))
            {
                int idDaVenda;

                using (var dao = new VendaDaoEntity())
                {
                    dao.Adicionar(formularioVenda.Venda);
                    List <Venda> lista = dao.PegarLista() as List <Venda>;
                    idDaVenda = lista.Last().IdVenda;
                }

                Produto p;
                using (var daoProduto = new ProdutoDaoEntity())
                {
                    using (var dao = new ProdutoVendaDaoEntity())
                    {
                        foreach (var produto in formularioVenda.Produtos)
                        {
                            p = daoProduto.Pegar(produto.IdProduto);
                            p.QuantidadeEmEstoque--;
                            daoProduto.Alterar(p);
                            produto.IdVenda = idDaVenda;
                            produto.Valor   = produto.Quantidade * p.ValorUnitario;
                            dao.Adicionar(produto);
                        }
                    }
                }



                return(RedirectToAction("ListarVendas"));
            }
            return(RedirectToAction("Form"));
        }
Exemplo n.º 20
0
        public int getLoginFlag(string TextBoxUsername, string TextBoxPassword)
        {
            using (MySqlConnection con = new MySqlConnection("Server='localhost'; Database='aspcrud';User='******';Password='******';SslMode=None"))
            {
                string query      = "select count(1) from registrationdetails where CustEmail=@username and CustPassword=@password";
                string adminquery = "select count(1) from admin where adminemail=@admineml and adminpassword=@adminpass";
                string empquery   = "select count(1) from employeedetails where empemail=@empeml and emppassword=@emppass";
                con.Open();
                //Customer
                MySqlCommand sqlCmd = new MySqlCommand(query, con);
                //Admin
                MySqlCommand adminsqlcmd = new MySqlCommand(adminquery, con);
                //Employee
                MySqlCommand empcmd = new MySqlCommand(empquery, con);
                string       pass   = PasswordEncrypt.EncryptText(TextBoxPassword);
                //Customer
                sqlCmd.Parameters.AddWithValue("@username", TextBoxUsername.Trim());
                sqlCmd.Parameters.AddWithValue("@password", pass.Trim());
                //Admin
                string adminuser = PasswordEncrypt.EncryptText(TextBoxUsername);
                adminsqlcmd.Parameters.AddWithValue("@admineml", adminuser.Trim());
                adminsqlcmd.Parameters.AddWithValue("@adminpass", pass.Trim());
                //Employee
                empcmd.Parameters.AddWithValue("@empeml", TextBoxUsername.Trim());
                empcmd.Parameters.AddWithValue("@emppass", pass.Trim());
                //Customer
                var count = sqlCmd.ExecuteScalar();
                //Admin
                var adminlogcnt = adminsqlcmd.ExecuteScalar();
                //Employee
                var empcount = empcmd.ExecuteScalar();

                if (Convert.ToInt32(adminlogcnt) == 1)
                {
                    return(2);
                }
                else
                if (Convert.ToInt32(empcount) == 1)
                {
                    return(3);
                }
                else
                if (Convert.ToInt32(count) == 1)
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
        }
Exemplo n.º 21
0
    public void resetPassword(string newpwd)
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["PizzaDBRemote"].ConnectionString);

        conn.Open();
        string     checkUser = "******";
        SqlCommand comd      = new SqlCommand(checkUser, conn);

        comd.Parameters.AddWithValue("@userName", UserName);
        comd.Parameters.AddWithValue("@password", PasswordEncrypt.encryptString(newpwd));
        comd.ExecuteNonQuery();
        conn.Close();
    }
Exemplo n.º 22
0
    public Boolean checkPassword()
    {
        string passwordMD5 = userExist();

        if (passwordMD5.Equals(PasswordEncrypt.encryptString(Password)))
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Exemplo n.º 23
0
        public void CreateUser(UserEntity user)
        {
            SqlConnection sqlConnection = dbConnection.GetDbConnection();
            SqlCommand    command       = commandInstance.GetSqlCommand();

            try
            {
                bool hasUserEmptyFields = ValidateNullOrEmptyFields(user);
                bool isUserNameExists   = ValidateIfUserNameExists(user.UserName);
                if (user == null)
                {
                    throw new PersonalizedException("El usuario no puede ser nulo");
                }
                else if (hasUserEmptyFields)
                {
                    throw new PersonalizedException("No puedes dejar campos vacíos");
                }
                else if (isUserNameExists)
                {
                    throw new PersonalizedException("El nombre de usuario ya existe, intente con uno nuevo");
                }
                else
                {
                    sqlConnection.Open();
                    command.Connection  = sqlConnection;
                    command.CommandText = "CreateUser";
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    command.Parameters.Clear();
                    command.Parameters.Add(new SqlParameter("@FirstName", user.FirstName));
                    command.Parameters.Add(new SqlParameter("@LastName", user.LastName));
                    command.Parameters.Add(new SqlParameter("@CellPhone", user.CellPhone));
                    command.Parameters.Add(new SqlParameter("@Genre", user.Genre));
                    command.Parameters.Add(new SqlParameter("@Email", user.Email));
                    command.Parameters.Add(new SqlParameter("@UserName", user.UserName));
                    command.Parameters.Add(new SqlParameter("@Password", PasswordEncrypt.Encrypt(user.Password)));
                    command.Parameters.Add(new SqlParameter("@CreationDate", DateTime.Today));
                    command.Parameters.Add(new SqlParameter("@LastModificationDate", DateTime.Today));
                    command.Parameters.Add(new SqlParameter("@Active", true));
                    command.ExecuteNonQuery();
                    DBConnection.CloseConnection(sqlConnection);
                }
            }
            catch (Exception exception)
            {
                throw new PersonalizedException(exception.Message);
            }
            finally
            {
                DBConnection.CloseConnection(sqlConnection);
            }
        }
Exemplo n.º 24
0
        public UserEntity SignIn(string UserName, string Password)
        {
            SqlConnection sqlConnection = dbConnection.GetDbConnection();
            SqlCommand    command       = commandInstance.GetSqlCommand();
            UserEntity    user          = new UserEntity();

            try
            {
                if (string.IsNullOrEmpty(UserName) || string.IsNullOrEmpty(Password))
                {
                    throw new PersonalizedException("Debes ingresar un nombre de usuario y una contraseña");
                }
                else
                {
                    sqlConnection.Open();
                    command.Connection  = sqlConnection;
                    command.CommandText = "GetUserByUserNameAndPassword";
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    command.Parameters.Clear();
                    command.Parameters.Add(new SqlParameter("@UserName", UserName));
                    command.Parameters.Add(new SqlParameter("@Password", PasswordEncrypt.Encrypt(Password)));
                    sqlDataReader = command.ExecuteReader();
                    while (sqlDataReader.Read())
                    {
                        user = new UserEntity
                        {
                            UserId   = sqlDataReader.GetInt32(0),
                            UserName = sqlDataReader.GetString(6),
                            Active   = sqlDataReader.GetBoolean(10)
                        };
                    }
                    sqlDataReader.Close();
                    DBConnection.CloseConnection(sqlConnection);
                    if (user == null)
                    {
                        throw new PersonalizedException("Nombre de usuario o contraseña incorrecta");
                    }
                    return(user);
                }
            }
            catch (Exception exception)
            {
                throw new PersonalizedException(exception.Message);
            }
            finally
            {
                DBConnection.CloseConnection(sqlConnection);
            }
        }
Exemplo n.º 25
0
 /// <summary>
 /// user login method
 /// </summary>
 /// <param name="loginShowModel"></param>
 /// <returns></returns>
 public LoginResponseModel UserLogin(LoginShowModel loginShowModel)
 {
     try
     {
         DatabaseConnection databaseConnection = new DatabaseConnection(this.configuration);
         var password = PasswordEncrypt.Encryptdata(loginShowModel.Password);
         List <StoredProcedureParameterData> paramList = new List <StoredProcedureParameterData>();
         paramList.Add(new StoredProcedureParameterData("@Email", loginShowModel.Email));
         paramList.Add(new StoredProcedureParameterData("@Password", password));
         DataTable table    = databaseConnection.StoredProcedureExecuteReader("UserLogin", paramList);
         var       userData = new RegisterModel();
         foreach (DataRow dataRow in table.Rows)
         {
             userData              = new RegisterModel();
             userData.Id           = (int)dataRow["Id"];
             userData.FirstName    = dataRow["FirstName"].ToString();
             userData.LastName     = dataRow["LastName"].ToString();
             userData.Email        = dataRow["Email"].ToString();
             userData.Password     = dataRow["Password"].ToString();
             userData.IsActive     = Convert.ToBoolean(dataRow["IsActive"]);
             userData.UserRole     = dataRow["UserRole"].ToString();
             userData.CreatedDate  = Convert.ToDateTime(dataRow["CreatedDate"]);
             userData.ModifiedDate = Convert.ToDateTime(dataRow["ModifiedDate"]);
         }
         if (userData.Email != null)
         {
             var responseShow = new LoginResponseModel()
             {
                 Id           = userData.Id,
                 FirstName    = userData.FirstName,
                 LastName     = userData.LastName,
                 Email        = userData.Email,
                 IsActive     = userData.IsActive,
                 UserRole     = userData.UserRole,
                 CreatedDate  = userData.CreatedDate,
                 ModifiedDate = userData.ModifiedDate,
             };
             return(responseShow);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
Exemplo n.º 26
0
        public LoginState Login(User user)
        {
            if (!string.IsNullOrEmpty(user.Account))
            {
                user.Account = user.Account.ToLower();
            }

            var userInfo = _userDal.Get(user.Account);

            if (userInfo == null)
            {
                return(LoginState.InvalidAccountOrPassword);
            }

            if (user.Id == int.MinValue)
            {
                if (!user.Password.Equals(userInfo.Password))
                {
                    return(LoginState.InvalidAccountOrPassword);
                }
            }
            else
            {
                if (!PasswordEncrypt.CheckPassword(user.Password, userInfo.Salt, userInfo.Password))
                {
                    return(LoginState.InvalidAccountOrPassword);
                }
            }

            if (!userInfo.IsAudit || userInfo.ExpireDate == null)
            {
                user.Id = userInfo.Id;
                return(LoginState.NotAudit);
            }

            if (DateTime.UtcNow > userInfo.ExpireDate.Value)
            {
                return(LoginState.Expired);
            }

            if (userInfo.Lock)
            {
                return(LoginState.Locked);
            }

            user.Id = userInfo.Id;
            return(LoginState.Successed);
        }
Exemplo n.º 27
0
        /// <summary>
        /// user signup method
        /// </summary>
        /// <param name="adminShowModel"></param>
        /// <returns></returns>
        public ResponseModel UserSignUp(ShowModel adminShowModel)
        {
            try
            {
                DatabaseConnection databaseConnection = new DatabaseConnection(this.configuration);
                var userType = "user";
                var password = PasswordEncrypt.Encryptdata(adminShowModel.Password);
                List <StoredProcedureParameterData> paramList = new List <StoredProcedureParameterData>();
                paramList.Add(new StoredProcedureParameterData("@FirstName", adminShowModel.FirstName));
                paramList.Add(new StoredProcedureParameterData("@LastName", adminShowModel.LastName));
                paramList.Add(new StoredProcedureParameterData("@Email", adminShowModel.Email));
                paramList.Add(new StoredProcedureParameterData("@Password", password));
                paramList.Add(new StoredProcedureParameterData("@IsActive", adminShowModel.IsActive));
                paramList.Add(new StoredProcedureParameterData("@UserRole", userType));
                paramList.Add(new StoredProcedureParameterData("@CreatedDate", DateTime.Now));
                paramList.Add(new StoredProcedureParameterData("@ModifiedDate", DateTime.Now));
                DataTable table    = databaseConnection.StoredProcedureExecuteReader("AddUser", paramList);
                var       userData = new ResponseModel();

                foreach (DataRow dataRow in table.Rows)
                {
                    userData              = new ResponseModel();
                    userData.Id           = (int)dataRow["Id"];
                    userData.FirstName    = dataRow["FirstName"].ToString();
                    userData.LastName     = dataRow["LastName"].ToString();
                    userData.Email        = dataRow["Email"].ToString();
                    userData.IsActive     = Convert.ToBoolean(dataRow["IsActive"]);
                    userData.UserRole     = dataRow["UserRole"].ToString();
                    userData.CreatedDate  = Convert.ToDateTime(dataRow["CreatedDate"]);
                    userData.ModifiedDate = Convert.ToDateTime(dataRow["ModifiedDate"]);
                }
                if (userData.Email != null)
                {
                    MSMQSender mSMQSender = new MSMQSender();
                    mSMQSender.Message(userData.Email);
                    return(userData);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
        }
Exemplo n.º 28
0
        public bool ChangePassword(int userId, string password, string salt)
        {
            const string sql = @"
                UPDATE  [User]
                SET     [Password] = @Password
                WHERE   Id = @Id";

            password = PasswordEncrypt.GetEncryptPassword(password, salt);
            using (var con = DbFactory.Instance.CreateConnection())
            {
                return(con.Execute(sql, new User
                {
                    Id = userId,
                    Password = password
                }) > 0);
            }
        }
Exemplo n.º 29
0
        protected void RegisterEmpDetails()
        {
            con.Open();
            string       emppass = PasswordEncrypt.EncryptText(TextBoxEmpPassword.Text);
            MySqlCommand cmd     = new MySqlCommand("insert into employeedetails (empname,empemail,emppassword,empaddress,empphone) values('" + TextBoxEmpUserName.Text + "','" + TextBoxEmpEmail.Text + "','" +
                                                    emppass + "','" + TextBoxEmpAddress.Text + "'," + TextBoxEmpPhone.Text + ")", con);

            cmd.ExecuteNonQuery();
            con.Close();
            EmpRegisterLabel.Visible = true;
            EmpRegisterLabel.Text    = "Registration Successfull";
            TextBoxEmpUserName.Text  = "";
            TextBoxEmpEmail.Text     = "";
            TextBoxEmpPassword.Text  = "";
            TextBoxEmpAddress.Text   = "";
            TextBoxEmpPhone.Text     = "";
        }
Exemplo n.º 30
0
        public RegisterState Register(User user)
        {
            if (!ValidateHelper.CheckUserName(user.Account))
            {
                return(RegisterState.InvalidAccount);
            }

            if (!ValidateHelper.CheckPassword(user.Password))
            {
                return(RegisterState.InvalidPassword);
            }

            if (!ValidateHelper.CheckEmail(user.Email))
            {
                return(RegisterState.InvalidEmail);
            }

            if (!ValidateHelper.CheckQQ(user.QQ))
            {
                return(RegisterState.InvalidQQ);
            }

            if (!ValidateHelper.CheckMobile(user.Mobile))
            {
                return(RegisterState.InvalidMobile);
            }

            string salt;

            user.Password = PasswordEncrypt.GetEncryptPassword(user.Password, out salt);
            user.Salt     = salt;
            user.Account  = user.Account.ToLower();

            if (_userDal.Exists(user.Account))
            {
                return(RegisterState.AccountExists);
            }

            if (!_userDal.Add(user))
            {
                return(RegisterState.Failed);
            }

            return(RegisterState.Successed);
        }