Exemple #1
0
        public async Task Send(UserValid @event)
        {
            var obj = new object[2];

            obj[0] = @event.GetType().Name;
            obj[1] = @event;

            await _hub.Clients.Client(@event.ConnectionId).SendCoreAsync("EventEmited", obj);
        }
        private void Button_UserUpdate_Click(object sender, RoutedEventArgs e)
        {
            User UserEntity = new User();

            UserEntity.Id         = User.Id;
            UserEntity.Email      = TextBox_Email.Text;
            UserEntity.Login      = TextBox_Login.Text;
            UserEntity.Name       = TextBox_Name.Text;
            UserEntity.Surname    = TextBox_Surname.Text;
            UserEntity.Patronymic = TextBox_Patronymic.Text;

            if (!UserValid.Email(UserEntity.Email))
            {
                return;
            }

            if (!UserValid.Login(UserEntity.Login))
            {
                return;
            }

            if (PasswordBox_Password.Password.Length != 0 && PasswordBox_Password.Password.Trim() != string.Empty)
            {
                if (!UserValid.Password(PasswordBox_Password.Password, PasswordBox_ConfirmPassword.Password))
                {
                    return;
                }
                else
                {
                    UserEntity.Password = PasswordBox_Password.Password;
                }
            }

            if (!UserValid.Name(UserEntity.Name))
            {
                return;
            }

            if (!UserValid.Surname(UserEntity.Surname))
            {
                return;
            }

            if (!UserValid.Patronymic(UserEntity.Patronymic))
            {
                return;
            }

            if (!Sender.SendToServer("Users.Update", UserEntity))
            {
                new AlertWindow("Ошибка", AlertWindow.AlertCode.SendToServer);
            }
        }
        private void Button_Register_Click(object sender, RoutedEventArgs e)
        {
            RegisterElements_Block();

            User UserEntity = new User();

            UserEntity.Email      = TextBox_Email.Text;
            UserEntity.Login      = TextBox_Login.Text;
            UserEntity.Name       = TextBox_Name.Text;
            UserEntity.Surname    = TextBox_Surname.Text;
            UserEntity.Patronymic = TextBox_Patronymic.Text;

            if (!UserValid.Email(UserEntity.Email, RegisterElements_Unblock))
            {
                return;
            }

            if (!UserValid.Login(UserEntity.Login, RegisterElements_Unblock))
            {
                return;
            }

            if (!UserValid.Password(PasswordBox_Password.Password, PasswordBox_PasswordConfim.Password, RegisterElements_Unblock))
            {
                return;
            }
            else
            {
                UserEntity.Password = PasswordBox_Password.Password;
            }

            if (!UserValid.Name(UserEntity.Name, RegisterElements_Unblock))
            {
                return;
            }

            if (!UserValid.Surname(UserEntity.Surname, RegisterElements_Unblock))
            {
                return;
            }

            if (!UserValid.Patronymic(UserEntity.Patronymic, RegisterElements_Unblock))
            {
                return;
            }

            WindowLogic.RegisterAccount(UserEntity);
        }
Exemple #4
0
        public static UserValid VerifyUser(string username, SecureString spassword)
        {
            var hashPassword = "";
            var user         = new UserValid();

            using (var myConnection = new MySqlConnection {
                ConnectionString = MyConnectionString
            })
            {
                myConnection.Open();
                using (var myCommand = myConnection.CreateCommand())
                {
                    using (var myTrans = myConnection.BeginTransaction())
                    {
                        myCommand.Connection  = myConnection;
                        myCommand.Transaction = myTrans;

                        try
                        {
                            myCommand.CommandText = "SELECT id, password FROM User WHERE username = @username;";
                            myCommand.Parameters.AddWithValue("@username", username);
                            using (var reader = myCommand.ExecuteReader())
                            {
                                while (reader.Read())
                                {
                                    hashPassword = reader.GetString("password");
                                    user.Id      = reader.GetInt32("id");
                                }


                                if (string.IsNullOrWhiteSpace(hashPassword))
                                {
                                    user.Valid = false;
                                    return(user);
                                }
                            }
                        }
                        catch (Exception e)
                        {
                            try
                            {
                                myTrans.Rollback();
                            }
                            catch (SqlException ex)
                            {
                                if (myTrans.Connection != null)
                                {
                                    Console.WriteLine(
                                        $@"An exception of type {ex.GetType()} was encountered while attempting to roll back the transaction.");
                                }
                            }


                            Console.WriteLine(
                                $@"An exception of type {e.GetType()} was encountered while reading the data.");
                        }
                    }
                }
            }

            user.Valid =
                SecurePasswordHasher.Verify(SecurePasswordBox.ConvertToUnsecureString(spassword), hashPassword);
            return(user);
        }