コード例 #1
0
        /// <summary>
        /// Событие при вводе текста в поле "LastNameInput"
        /// </summary>
        private void LastNameInput_TextChanged(object sender, TextChangedEventArgs e)
        {
            StringCheck check = new StringCheck();

            bool   trigger = check.CheckName(NewLastNameInput.Text);
            string word    = NewLastNameInput.Text;

            foreach (var item in clientsController.ClientsLoginMatchUp(Settings.Default.login))
            {
                if (trigger && word != item.surname && word != "")
                {
                    SaveBtn.IsEnabled = true;
                }
                else
                {
                    SaveBtn.IsEnabled = false;
                }
            }

            if (NewFirstNameInput.Text == "" || NewLastNameInput.Text == "" || NewPatronymicInput.Text == "" || NewAddressInput.Text == "" ||
                NewPhoneInput.Text == "" || NewLoginInput.Text == "" || NewPasswordInput.Password == "" || NewEmailInput.Text == "")
            {
                SaveBtn.IsEnabled = false;
            }
        }
コード例 #2
0
        /// <summary>
        /// Добавление нового пользователя
        /// </summary>
        /// <param name="userName" - имя></param>
        /// <param name="userSurname" - фамилия></param>
        /// <param name="userPatronymic" - отчество></param>
        /// <param name="userDate" - дата  рождения></param>
        /// <param name="userAddress" - адрес></param>
        /// <param name="userWorkplace" - место работы></param>
        /// <param name="userStudyplace" - место учебы></param>
        /// <param name="userPhone" - телефон></param>
        /// <param name="userLogin" - логин></param>
        /// <param name="userPassword" - пароль></param>
        /// <param name="userEmail" - адрес электронной почты></param>
        /// <param name="userTicket" - читательский юилет></param>
        /// <returns>
        /// true - в случае выполнения метода
        /// false - в случае не выполения метода
        /// </returns>
        public bool AddNewUser(string userName, string userSurname, string userPatronymic, DateTime userDate, string userAddress, string userWorkplace, string userStudyplace, string userPhone, string userLogin, string userPassword, string userEmail, string userTicket)
        {
            try
            {
                StringCheck check = new StringCheck();

                if (!check.CheckName(userName) || !check.CheckName(userSurname) || !check.CheckName(userPatronymic) || !check.CheckDate(Convert.ToString(userDate.Date.ToString("yyyy.MM.dd"))) ||
                    !check.CheckAddress(userAddress) || !check.CheckPhone(userPhone) || !check.CheckLogin(userLogin) || !check.CheckPassword(userPassword) || !check.CheckEmail(userEmail))
                {
                    return(false);
                }

                else
                {
                    DateTime dateTime = Convert.ToDateTime(userDate.ToString("yyyy.MM.dd"));
                    dbHelper.context.clients.Add(new clients
                    {
                        id_trading = null,
                        id_role    = 3,
                        name       = userName,
                        surname    = userSurname,
                        patronymic = userPatronymic,
                        birthday   = dateTime,
                        address    = userAddress,
                        workplace  = userWorkplace,
                        studyplace = userStudyplace,
                        phone      = userPhone,
                        login      = userLogin,
                        password   = userPassword,
                        email      = userEmail,
                        ticket     = userTicket
                    });

                    dbHelper.context.SaveChanges();
                    return(true);
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }
コード例 #3
0
        public void CheckName_isSpace_FalseReturned()
        {
            //Arrange
            string stringName = "Ал ексей";
            //Act
            StringCheck isName      = new StringCheck();
            bool        correctName = isName.CheckName(stringName);

            //Assert
            Assert.IsFalse(correctName);
        }
コード例 #4
0
        public void CheckName_isEngLetters_FalseReturned()
        {
            //Arrange
            string stringName = "Alexey";
            //Act
            StringCheck isName      = new StringCheck();
            bool        correctName = isName.CheckName(stringName);

            //Assert
            Assert.IsFalse(correctName);
        }
コード例 #5
0
        /// <summary>
        /// Обновление данных о пользователе
        /// </summary>
        /// <param name="newName" - новое имя></param>
        /// <param name="newSurname" - новоая фамилия></param>
        /// <param name="newPatronymic" - новое отчество></param>
        /// <param name="newBirthday" - новая дата рождения></param>
        /// <param name="newAddress" - новый адрес></param>
        /// <param name="newWorkplace" - новое место работы></param>
        /// <param name="newStudyplace" - новое место учебы></param>
        /// <param name="newPhone" - новый телефон></param>
        /// <param name="newLogin" - новый телефон></param>
        /// <param name="newPassword" - новый пароль></param>
        /// <param name="newEmail" - новый адрес электронной почты></param>
        /// <param name="oldUser" - лист со старыми данными пользователя></param>
        /// <returns>
        /// true - в случае выполнения метода
        /// false - в случае не выполения метода
        /// </returns>
        public bool UpdateClientInfo(string newName, string newSurname, string newPatronymic, DateTime newBirthday, string newAddress, string newWorkplace, string newStudyplace, string newPhone, string newLogin, string newPassword, string newEmail, List <clients> oldUser)
        {
            try
            {
                StringCheck check = new StringCheck();

                if (!check.CheckName(newName) || !check.CheckName(newSurname) || !check.CheckName(newPatronymic) || !check.CheckDate(Convert.ToString(newBirthday.ToString("yyyy.MM.dd"))) ||
                    !check.CheckAddress(newAddress) || !check.CheckPhone(newPhone) || !check.CheckLogin(newLogin) || !check.CheckPassword(newPassword))
                {
                    return(false);
                }
                else
                {
                    foreach (var item in oldUser)
                    {
                        item.name       = newName;
                        item.surname    = newSurname;
                        item.patronymic = newPatronymic;
                        item.birthday   = newBirthday.Date;
                        item.address    = newAddress;
                        item.workplace  = newWorkplace;
                        item.studyplace = newStudyplace;
                        item.phone      = newPhone;
                        item.login      = newLogin;
                        item.password   = newPassword;
                        item.email      = newEmail;
                    }

                    dbHelper.context.SaveChanges();
                    return(true);
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }
コード例 #6
0
        /// <summary>
        /// Событие при вводе текста в поле "PatronymicInput"
        /// </summary>
        private void PatronymicInput_TextChanged(object sender, TextChangedEventArgs e)
        {
            StringCheck check = new StringCheck();

            bool trigger = check.CheckName(PatronymicInput.Text);

            if (!trigger)
            {
                PatronymicWarningBtn.Visibility = Visibility.Visible;
            }
            else
            {
                PatronymicWarningBtn.Visibility = Visibility.Collapsed;
            }
        }
コード例 #7
0
        /// <summary>
        /// Обновление данных выбранной книги
        /// </summary>
        /// <param name="newAuthor" - новое имя автора></param>
        /// <param name="newfFieldKnowledgeId" - новый идентификатор ббк></param>
        /// <param name="newName" - новое имя></param>
        /// <param name="newIsbn" - новый шифр isbn></param>
        /// <param name="newPlace" - новое место издания></param>
        /// <param name="newYear" - новый год издания></param>
        /// <param name="newInterpretorId" - новый идентификатор издательства></param>
        /// <param name="newChamberId" - новый иднетификатор отсека></param>
        /// <param name="oldBook" - лист со старыми данными книги></param>
        /// <returns>
        /// true - в случае выполнения метода
        /// false - в случае не выполения метода
        /// </returns>
        public bool UpdateBookInfo(string newAuthor, int newfFieldKnowledgeId, string newName, string newIsbn, string newPlace, int newYear, int newInterpretorId, int newChamberId, List <books> oldBook)
        {
            try
            {
                StringCheck check = new StringCheck();

                if (!check.CheckName(newAuthor) || !check.CheckBookName(newName) || !check.CheckBookIsbn(newIsbn) || !check.CheckBookYear(Convert.ToString(newYear)) ||
                    newInterpretorId == 0)
                {
                    return(false);
                }
                else
                {
                    foreach (var item in oldBook)
                    {
                        item.author             = newAuthor;
                        item.field_knowledge_id = newfFieldKnowledgeId;
                        item.name           = newName;
                        item.isbn           = newIsbn;
                        item.place          = newPlace;
                        item.year           = newYear;
                        item.interpreter_id = newInterpretorId;
                        item.chamber_id     = newChamberId;
                        item.trading_id     = null;
                        item.quantity_id    = null;
                    }

                    dbHelper.context.SaveChanges();
                    if (dbHelper.context.SaveChanges() == 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }
コード例 #8
0
        private void LastNameInput_TextChanged(object sender, TextChangedEventArgs e)
        {
            StringCheck check = new StringCheck();

            bool   trigger = check.CheckName(NewLastNameInput.Text);
            string word    = NewLastNameInput.Text;

            foreach (var item in clientsController.ClientsInfoOutput())
            {
                if (trigger && word != item.surname)
                {
                    SaveBtn.Background = Brushes.Green;
                    SaveBtn.IsEnabled  = true;
                }
                else
                {
                    SaveBtn.IsEnabled = false;
                }
            }
        }
コード例 #9
0
        /// <summary>
        /// Добавление новой книги
        /// </summary>
        /// <param name="bookAuthor" - имя автора></param>
        /// <param name="bookKnowledgeField" - идентификатор ббк></param>
        /// <param name="bookName" - название книги></param>
        /// <param name="bookISBN" - шифр isbn></param>
        /// <param name="bookPlace" - место издания книги></param>
        /// <param name="bookYear" - год издания книги></param>
        /// <param name="bookInterpreter" - идентификатор издательства></param>
        /// <param name="bookChamber" - идентификатор отсека></param>
        /// <returns>
        /// true - в случае выполнения метода
        /// false - в случае не выполения метода
        /// </returns>
        public bool AddNewBook(string bookAuthor, int bookKnowledgeField, string bookName, string bookISBN, string bookPlace, int bookYear, int bookInterpreter, int bookChamber)
        {
            try
            {
                StringCheck check = new StringCheck();

                if ((!check.CheckName(bookAuthor) || bookAuthor == "") || (!check.CheckBookName(bookName) || bookName == "") || (!check.CheckBookIsbn(bookISBN) || bookISBN == "") || (!check.CheckBookYear(Convert.ToString(bookYear)) || bookYear > DateTime.Now.Year || bookYear < 1500) ||
                    (bookInterpreter == 0))
                {
                    return(false);
                }
                else
                {
                    dbHelper.context.books.Add(new books
                    {
                        author             = bookAuthor,
                        field_knowledge_id = bookKnowledgeField,
                        name           = bookName,
                        isbn           = bookISBN,
                        place          = bookPlace,
                        year           = bookYear,
                        quantity_id    = null,
                        interpreter_id = bookInterpreter,
                        chamber_id     = bookChamber,
                        trading_id     = null
                    });

                    dbHelper.context.SaveChanges();
                    Settings.Default.bookId = dbHelper.context.books.OrderByDescending(t => t.book_id).FirstOrDefault().book_id;
                    return(true);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }
コード例 #10
0
        /// <summary>
        /// Событие при вводе текста в поле "NewAuthorInput"
        /// </summary>
        private void NewAuthorInput_TextChanged(object sender, TextChangedEventArgs e)
        {
            StringCheck check = new StringCheck();

            bool   trigger = check.CheckName(NewAuthorInput.Text);
            string word    = NewAuthorInput.Text;

            foreach (var item in booksController.GetBookWithId(Settings.Default.selectBook))
            {
                if (word != item.author && word != "" && trigger)
                {
                    SaveBtn.IsEnabled = true;
                }
                else
                {
                    SaveBtn.IsEnabled = false;
                }
            }

            if (NewAuthorInput.Text == "" || NewNameInput.Text == "" || NewBBkInputComboBox.Text == "" || NewIsbnInput.Text == "" || NewYearInput.Text == "" || NewInterpreterComboBox.Text == "" || NewChamberComboBox.Text == "")
            {
                SaveBtn.IsEnabled = false;
            }
        }
コード例 #11
0
        /// <summary>
        ///  Событие при клике на кнопку "Продолжить"
        /// </summary>
        private void StartBtnClick(object sender, RoutedEventArgs e)
        {
            Random rnd          = new Random();
            string generator    = "";
            string resultString = "";

            StringCheck isName     = new StringCheck();
            bool        resultName = isName.CheckName(FirstNameInput.Text);

            if (!resultName)
            {
                resultString += "Неправильно введено Имя\n";
            }

            bool resultSurname = isName.CheckName(LastNameInput.Text);

            if (!resultSurname)
            {
                resultString += "Неправильно введена Фамилия\n";
            }

            bool resultPatronymic = isName.CheckName(PatronymicInput.Text);

            if (!resultPatronymic)
            {
                resultString += "Неправильно введено Отчество\n";
            }

            if (DateInput.SelectedDate == null)
            {
                resultString += "Неправильно введена Дата\n";
            }
            else
            {
                bool resultDate  = isName.CheckDate(DateInput.SelectedDate.Value.Date.ToString("yyyy.MM.dd"));
                bool resultDate2 = isName.CheckDate(Convert.ToString(Convert.ToDateTime(DateInput.Text).ToString("yyyy.MM.dd")));
                if (!resultDate || !resultDate2)
                {
                    resultString += "Неправильно введена Дата\n";
                }
            }

            StringCheck isAddress     = new StringCheck();
            bool        resultAddress = isAddress.CheckAddress(AddressInput.Text);

            if (!resultAddress)
            {
                resultString += "Неправильно введен Адрес\n";
            }


            StringCheck isPhone     = new StringCheck();
            bool        resultPhone = isPhone.CheckPhone(PhoneInput.Text);

            if (!resultPhone)
            {
                resultString += "Неправильно введен Телефон\n";
            }

            StringCheck isLogin     = new StringCheck();
            bool        resultLogin = isLogin.CheckLogin(LoginInput.Text);

            if (!resultLogin)
            {
                resultString += "Неправильно введен Логин\n";
            }

            StringCheck isPassword     = new StringCheck();
            bool        resultPassword = isPassword.CheckPassword(PasswordInput.Password);

            if (!resultPassword)
            {
                resultString += "Неправильно введен Пароль\n";
            }

            StringCheck isEmail     = new StringCheck();
            bool        resultEmail = isEmail.CheckEmail(EmailInput.Text);

            if (!resultEmail)
            {
                resultString += "Неправильно введен email\n";
            }



            if (resultString == "")
            {
                if (clientsController.CheckForAnExistingkUser(LoginInput.Text))
                {
                    for (int i = 0; i < 4; i++)
                    {
                        generator += rnd.Next(0, 9);
                    }

                    FirstNameInput.IsReadOnly  = true;
                    LastNameInput.IsReadOnly   = true;
                    PatronymicInput.IsReadOnly = true;
                    AddressInput.IsReadOnly    = true;
                    WorkplaceInput.IsReadOnly  = true;
                    StudyplaceInput.IsReadOnly = true;
                    PhoneInput.IsReadOnly      = true;
                    LoginInput.IsReadOnly      = true;
                    EmailInput.IsReadOnly      = true;

                    string   ticket = "X" + "-" + generator + "-" + DateTime.Now.ToString("yy");
                    DateTime word2  = Convert.ToDateTime(Convert.ToDateTime(DateInput.Text).ToString("yyyy.MM.dd"));
                    if (clientsController.AddNewUser(FirstNameInput.Text, LastNameInput.Text, PatronymicInput.Text, word2, AddressInput.Text, WorkplaceInput.Text, StudyplaceInput.Text, PhoneInput.Text, LoginInput.Text, PasswordInput.Password, EmailInput.Text, ticket))
                    {
                        MessageBox.Show("Регистрация прошла успешно.");

                        if (clientsController.SendInfo(LoginInput.Text, PasswordInput.Password, EmailInput.Text))
                        {
                            MessageBox.Show("Данные для авторизации были отправлены на вашу электронную почту. Если письмо не пришло, убедитесь, что оно не попало в папку Спам.");
                            this.NavigationService.Navigate(new AuthorizationPage());
                        }
                        else
                        {
                            MessageBox.Show("Данные для авторизации не были отправлены, повторная попытка будет произведена позже.");
                            FirstNameInput.IsReadOnly  = false;
                            LastNameInput.IsReadOnly   = false;
                            PatronymicInput.IsReadOnly = false;
                            AddressInput.IsReadOnly    = false;
                            WorkplaceInput.IsReadOnly  = false;
                            StudyplaceInput.IsReadOnly = false;
                            PhoneInput.IsReadOnly      = false;
                            LoginInput.IsReadOnly      = false;
                            EmailInput.IsReadOnly      = false;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ошибка регистрации");
                    }
                }

                else
                {
                    MessageBox.Show("Неккоректно введены данные");
                }
            }
            else
            {
                MessageBox.Show(resultString);
            }
        }
コード例 #12
0
        /// <summary>
        /// Событие при клике на кнопку "Продолжить"
        /// </summary>
        private void SaveBtn_Click(object sender, RoutedEventArgs e)
        {
            StringCheck check        = new StringCheck();
            string      resultString = "";

            bool resultAuthor = check.CheckName(AuthorInput.Text);

            if (!resultAuthor || AuthorInput.Text == "")
            {
                resultString += "Неправильно введено имя Автора\n";
            }

            bool resultName = check.CheckBookName(NameInput.Text);

            if (!resultName || NameInput.Text == "")
            {
                resultString += "Неправильно введено название\n";
            }

            string resultBbk       = BBkInputComboBox.Text;
            string resultDirectBbk = DirectInputTextBox.Text;

            if (resultBbk == "" && resultDirectBbk == "")
            {
                resultString += "Неправильно введено BBK\n";
            }

            bool resultIsbn = check.CheckBookIsbn(ISBNInput.Text);

            if (!resultIsbn || ISBNInput.Text == "")
            {
                resultString += "Неправильно введен ISBN\n";
            }

            bool resultYear = check.CheckBookYear(YearInput.Text);

            if (!resultYear || YearInput.Text == "" || Convert.ToInt32(YearInput.Text) < 1500 || Convert.ToInt32(YearInput.Text) > DateTime.Now.Year)
            {
                resultString += "Неправильно введен год\n";
            }

            string resultInterpretor = InterpreterComboBox.Text;

            if (resultInterpretor == "")
            {
                resultString += "Неправильно введено имя Издания\n";
            }

            string resultChamber = ChamberComboBox.Text;

            if (resultChamber == "")
            {
                resultString += "Неправильно введен номер отсека\n";
            }

            if (resultString == "")
            {
                int userBbk = 0;

                if (SelectInputBtn.Visibility == Visibility.Collapsed)
                {
                    BbkWarningBtn.Visibility = Visibility.Collapsed;
                    userBbk = Convert.ToInt32(BBkInputComboBox.SelectedValue);
                }
                else if (SelectInputBtn.Visibility == Visibility.Visible)
                {
                    userBbk = fieldsController.GetBbkId(DirectInputTextBox.Text);
                }

                if (booksController.AddNewBook(AuthorInput.Text, userBbk, NameInput.Text, ISBNInput.Text, PlaceInput.Text, Convert.ToInt32(YearInput.Text), interpretorsController.GetInterpretorId(InterpreterComboBox.Text), Convert.ToInt32(ChamberComboBox.Text)))
                {
                    if (quantityController.AddNewQuantity(Settings.Default.bookId))
                    {
                        if (booksController.UpdateBookQuantity(Settings.Default.quantityId))
                        {
                            MessageBox.Show("Книга добавлена");
                            if (Settings.Default.role == 1)
                            {
                                this.NavigationService.Navigate(new MenuAdminPage());
                            }
                            if (Settings.Default.role == 2)
                            {
                                this.NavigationService.Navigate(new MenuLibrarianPage());
                            }
                        }
                        else
                        {
                            MessageBox.Show("Ошибка базы данных, попробуйте позже.");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ошибка базы данных, попробуйте позже.");
                    }
                }
            }
            else
            {
                MessageBox.Show(resultString);
            }
        }
コード例 #13
0
        private void StartBtnClick(object sender, RoutedEventArgs e)
        {
            string resultString = "";

            StringCheck isName     = new StringCheck();
            bool        resultName = isName.CheckName(FirstNameInput.Text);

            if (!resultName)
            {
                resultString += "Неправильно введено Имя";
            }

            bool resultSurname = isName.CheckName(LastNameInput.Text);

            if (!resultSurname)
            {
                resultString += "Неправильно введена Фамилия";
            }

            bool resultPatronymic = isName.CheckName(PatronymicInput.Text);

            if (!resultPatronymic)
            {
                resultString += "Неправильно введено Отчество";
            }

            StringCheck isAddress     = new StringCheck();
            bool        resultAddress = isAddress.CheckAddress(AddressInput.Text);

            if (!resultAddress)
            {
                resultString += "Неправильно введен Адрес";
            }


            StringCheck isPhone     = new StringCheck();
            bool        resultPhone = isPhone.CheckPhone(PhoneInput.Text);

            if (!resultPhone)
            {
                resultString += "Неправильно введен Телефон";
            }

            StringCheck isLogin     = new StringCheck();
            bool        resultLogin = isLogin.CheckLogin(LoginInput.Text);

            if (!resultLogin)
            {
                resultString += "Неправильно введен Логин";
            }

            StringCheck isPassword     = new StringCheck();
            bool        resultPassword = isPassword.CheckPassword(PasswordInput.Password);

            if (!resultPassword)
            {
                resultString += "Неправильно введен Пароль";
            }

            StringCheck check = new StringCheck();

            if (resultString == "")
            {
                if (clientsController.CheckForAnExistingkUser(LoginInput.Text, PasswordInput.Password))
                {
                    clientsController.AddNewUser(FirstNameInput.Text, LastNameInput.Text, PatronymicInput.Text, Convert.ToDateTime(DateInput.SelectedDate), AddressInput.Text, WorkplaceInput.Text, StudyplaceInput.Text, PhoneInput.Text, LoginInput.Text, PasswordInput.Password);
                }

                else
                {
                    MessageBox.Show("sf-abuzer-zxc((");
                }
            }
        }