public void RegistreUser(IUser user) { var isUserChecked = this.IsUserInformationValidate(user); CheckAndCreatTableInBase(); var userHashedPassword = HashingSystem.Hash(user.Password); if (isUserChecked) { try { var insertUserQuery = "INSERT INTO users(FirstName, LastName, Resident, " + "PrivateId, RegistrationIp, Language_, " + "Email, Password_, Mobile, DateOfBirth," + "RegistrationDate, Country, Region," + "City, Address1, Address2)" + "VALUES" + $"('{user.FirstName}','{user.LastName}','{user.Resident}'," + $"'{user.PrivateID}','{user.RegistrarionIP}','{user.Language}'," + $"'{user.Email}','{userHashedPassword}','{user.Mobile}','{user.DateOfBirth}'," + $"'{user.RegistrationDate}','{user.UserAddress.Country}','{user.UserAddress.Region}'," + $"'{user.UserAddress.City}','{user.UserAddress.Addres1}','{user.UserAddress.Address2}');"; var connection = new MySqlConnection(_connectionString); var myCommand = new MySqlCommand(insertUserQuery, connection); connection.Open(); var reader = myCommand.ExecuteReaderAsync(); connection.Close(); } catch (Exception e) { var exeption = e.Message; } } else { throw new ArgumentNullException("User is null or user's some parameter is null or empty"); } }
public async Task <IUser> LoginUserAsync(string email, string password) //informaciis gamomtani esaa ubralod daloginebasac ase gavaketebdi //mibrundeba konkretuli obiekti tavisi monacemebit.. //am obiekts shemdeg UI shi gamoikeneb { var isParametersNullOrEmpty = this.IsStringsNullOrEmpty(email, password); if (isParametersNullOrEmpty) { throw new ArgumentNullException("Email or password is null or empty"); } var findUserInBaseByEmailQuery = "SELECT * FROM users " + "WHERE " + $"Email = '{email}'"; try { using (MySqlConnection connection = new MySqlConnection(_connectionString)) { var createfindInformationCommand = new MySqlCommand(findUserInBaseByEmailQuery, connection); connection.Open(); var result = await createfindInformationCommand.ExecuteReaderAsync(); while (result.Read()) { var userPassword = result.ElementAt(8).ToString(); var isVerified = HashingSystem.Verify(password, userPassword); if (isVerified) { var userAddress = new Address { Country = result.ElementAt(12).ToString(), Region = result.ElementAt(13).ToString(), City = result.ElementAt(14).ToString(), Addres1 = result.ElementAt(15).ToString(), Address2 = result.ElementAt(16).ToString(), }; var currentUser = new User { FirstName = result.ElementAt(1).ToString(), LastName = result.ElementAt(2).ToString(), Resident = result.ElementAt(3).ToString(), PrivateID = result.ElementAt(4).ToString(), RegistrarionIP = result.ElementAt(5).ToString(), Language = result.ElementAt(6).ToString(), Email = result.ElementAt(7).ToString(), Mobile = result.ElementAt(9).ToString(), DateOfBirth = Convert.ToDateTime(result.ElementAt(10).ToString()), RegistrationDate = Convert.ToDateTime(result.ElementAt(11).ToString()), UserAddress = userAddress }; return(currentUser); } } } } catch (Exception ex) { var exep = ex.Message; } return(null); }