コード例 #1
0
        /// <summary>
        /// Событие при выборе новой даты в поле "NewDeliveryInput"
        /// </summary>
        private void NewDeliveryInput_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            StringCheck check = new StringCheck();

            bool   trigger = check.CheckDate(Convert.ToString(NewDeliveryInput.SelectedDate.Value.Date.ToString("yyyy.MM.dd")));
            bool   word    = check.CheckDate(Convert.ToString(Convert.ToDateTime(NewDeliveryInput.Text).ToString("yyyy.MM.dd")));
            string word2   = Convert.ToDateTime(NewDeliveryInput.Text).ToString("yyyy.MM.dd");

            foreach (var item in tradingController.GetTradingString(Settings.Default.selectBook2))
            {
                if (trigger && word2 != Convert.ToString(item.delivery.ToString("yyyy.MM.dd")) && word2 != "" && word)
                {
                    SaveBtn.IsEnabled = true;
                }
                else
                {
                    SaveBtn.IsEnabled = false;
                }
            }

            if (NewBookComboBox.Text == "" || NewTicketInput.Text == "" || NewDeliveryInput.Text == "" || NewReceptionInput.Text == "")
            {
                SaveBtn.IsEnabled = false;
            }
        }
コード例 #2
0
        /// <summary>
        /// Добавление новой ожидающей книги
        /// </summary>
        /// <param name="userLogin" - логин></param>
        /// <param name="bookId" - идентификатор книги></param>
        /// <param name="ticket" - читательский билет></param>
        /// <returns>
        /// true - в случае выполнения метода
        /// false - в случае не выполения метода
        /// </returns>
        public bool AddNewWaiting(string userLogin, int bookId, string ticket)
        {
            try
            {
                StringCheck check = new StringCheck();

                if (userLogin == "" || bookId == 0 || !check.CheckTradingTicket(ticket))
                {
                    return(false);
                }

                else
                {
                    dbHelper.context.waiting.Add(new waiting
                    {
                        login   = userLogin,
                        book_id = bookId,
                        ticket  = ticket,
                    });

                    dbHelper.context.SaveChanges();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }
コード例 #3
0
        /// <summary>
        /// Counts the amount of certain character occasions in a string.
        /// <para>Has a "skip list" which prevents checking a character more than once.
        /// If a character is found more than once => skip current character.</para>
        /// </summary>
        /// <param name="stringToSearchIn"></param>
        /// <returns></returns>
        public static char CountEachCharacterSearch(string stringToSearchIn)
        {
            char        foundCharacter    = default;
            List <char> checkedCharacters = new List <char>();
            int         stringLength      = stringToSearchIn.Length;

            for (int i = 0; i < stringLength; i++)
            {
                char currentCharacter = stringToSearchIn[i];
                // Don't check the same character twice
                if (checkedCharacters.Contains(currentCharacter))
                {
                    continue;
                }

                // If the character count is higher than 1 - add it to "skip list" so that you don't check it again
                if (StringCheck.CharacterRepeats(stringToSearchIn, currentCharacter))
                {
                    checkedCharacters.Add(currentCharacter);
                    continue;
                }
                else
                // If the count is equal to 1 (can't be lower, because we are checking it from the existing string) => character found
                {
                    foundCharacter = currentCharacter;
                    break;
                }
            }

            return(foundCharacter);
        }
コード例 #4
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;
            }
        }
コード例 #5
0
        /// <summary>
        /// Событие при выборе новой даты в поле "NewDateInput"
        /// </summary>
        private void NewDateInput_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            StringCheck check = new StringCheck();

            bool   trigger = check.CheckDate(Convert.ToString(NewDateInput.SelectedDate.Value.Date.ToString("yyyy.MM.dd")));
            bool   word    = check.CheckDate(Convert.ToString(Convert.ToDateTime(NewDateInput.Text).ToString("yyyy.MM.dd")));
            string word2   = Convert.ToDateTime(NewDateInput.Text).ToString("yyyy.MM.dd");

            foreach (var item in clientsController.ClientsLoginMatchUp(Settings.Default.login))
            {
                if (trigger && word2 != Convert.ToString(item.birthday.ToString("yyyy.MM.dd")) && word2 != "" && 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;
            }
        }
コード例 #6
0
        /// <summary>
        /// Добавление новой выдачи
        /// </summary>
        /// <param name="bookId" - Идентификатор книги></param>
        /// <param name="ticket" - Читательский билет></param>
        /// <param name="deliveryDate" - Дата выдачи></param>
        /// <param name="receptionDate" - Максимальная дата возврата></param>
        /// <param name="userLogin" - Логин пользователя, который взял книгу></param>
        /// <returns>
        /// true - в случае выполнения метода
        /// false - в случае не выполения метода
        /// </returns>
        public bool AddNewTrading(int bookId, string ticket, DateTime deliveryDate, DateTime receptionDate, string userLogin)
        {
            try
            {
                StringCheck check = new StringCheck();
                if (bookId != 0 && check.CheckTradingTicket(ticket) && check.CheckDate(Convert.ToString(deliveryDate.ToString("yyyy.MM.dd"))) && check.CheckDate(Convert.ToString(receptionDate.ToString("yyyy.MM.dd"))) && check.CheckLogin(userLogin))
                {
                    dbHelper.context.trading.Add(new trading
                    {
                        book_id   = bookId,
                        ticket    = ticket,
                        delivery  = deliveryDate,
                        reception = receptionDate,
                        login     = userLogin
                    });

                    dbHelper.context.SaveChanges();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }
コード例 #7
0
        public void CheckEmail_isEmpty_falseReturned()
        {
            //Arrange
            string stringEmail = "";
            //Act
            StringCheck isEmail      = new StringCheck();
            bool        correctEmail = isEmail.CheckEmail(stringEmail);

            //Assert
            Assert.IsFalse(correctEmail);
        }
コード例 #8
0
        public void CheckPassword_isNotEnough_FalseReturned()
        {
            //Arrange
            string stringPassword = "******";
            //Act
            StringCheck isPassword      = new StringCheck();
            bool        correctPassword = isPassword.CheckFName(stringPassword);

            //Assert
            Assert.IsFalse(correctPassword);
        }
コード例 #9
0
        public void CheckPassword_isCorrect_TrueReturned()
        {
            //Arrange
            string stringPassword = "******";
            //Act
            StringCheck isPassword      = new StringCheck();
            bool        correctPassword = isPassword.CheckPassword(stringPassword);

            //Assert
            Assert.IsTrue(correctPassword);
        }
コード例 #10
0
        public void CheckEmail_isEngNum_TrueReturned()
        {
            //Arrange
            string stringEmail = "*****@*****.**";
            //Act
            StringCheck isEmail      = new StringCheck();
            bool        correctEmail = isEmail.CheckEmail(stringEmail);

            //Assert
            Assert.IsTrue(correctEmail);
        }
コード例 #11
0
        public void CheckLName_isNumbers_FalseReturned()
        {
            //Arrange
            string stringLName = "12345";
            //Act
            StringCheck isLName      = new StringCheck();
            bool        correctLName = isLName.CheckLName(stringLName);

            //Assert
            Assert.IsFalse(correctLName);
        }
コード例 #12
0
        public void CheckDate_isCorrect_TrueReturned()
        {
            //Arrange
            string stringDate = "2020.05.14";
            //Act
            StringCheck isDate      = new StringCheck();
            bool        correctDate = isDate.CheckDate(stringDate);

            //Assert
            Assert.IsTrue(correctDate);
        }
コード例 #13
0
        public void CheckBookYear_isTooMuchNumbers_FalseReturned()
        {
            //Arrange
            string stringBookYear = "222222222";
            //Act
            StringCheck isBookYear  = new StringCheck();
            bool        correctYear = isBookYear.CheckBookYear(stringBookYear);

            //Assert
            Assert.IsFalse(correctYear);
        }
コード例 #14
0
        public void CheckAddress_isRusDashDelimiter_TrueReturned()
        {
            //Arrange
            string stringAddress = "Щорса-56";
            //Act
            StringCheck isAddress      = new StringCheck();
            bool        correctAddress = isAddress.CheckAddress(stringAddress);

            //Assert
            Assert.IsTrue(correctAddress);
        }
コード例 #15
0
        public void CheckFName_isEmpty_FalseReturned()
        {
            //Arrange
            string stringName = "";
            //Act
            StringCheck isFName     = new StringCheck();
            bool        correctName = isFName.CheckFName(stringName);

            //Assert
            Assert.IsFalse(correctName);
        }
コード例 #16
0
        public void CheckEmail_isRusLetters_FalseReturned()
        {
            //Arrange
            string stringEmail = "выаыва.попр@аыва";
            //Act
            StringCheck isEmail      = new StringCheck();
            bool        correctEmail = isEmail.CheckEmail(stringEmail);

            //Assert
            Assert.IsFalse(correctEmail);
        }
コード例 #17
0
        public void CheckEmail_isOnlyNumbers_FalseReturned()
        {
            //Arrange
            string stringEmail = "1111@2131232";
            //Act
            StringCheck isEmail      = new StringCheck();
            bool        correctEmail = isEmail.CheckEmail(stringEmail);

            //Assert
            Assert.IsFalse(correctEmail);
        }
コード例 #18
0
        public void CheckEmail_isCorrect_TrueReturned()
        {
            //Arrange
            string stringEmail = "*****@*****.**";
            //Act
            StringCheck isEmail      = new StringCheck();
            bool        correctEmail = isEmail.CheckEmail(stringEmail);

            //Assert
            Assert.IsTrue(correctEmail);
        }
コード例 #19
0
        public void CheckDate_isDateWithOutCharacters_FalseReturned()
        {
            //Arrange
            string stringDate = "20020514";
            //Act
            StringCheck isDate      = new StringCheck();
            bool        correctDate = isDate.CheckDate(stringDate);

            //Assert
            Assert.IsFalse(correctDate);
        }
コード例 #20
0
        public void CheckDate_isEngLetters_FalseReturned()
        {
            //Arrange
            string stringDate = "fdgdfgdfgdf";
            //Act
            StringCheck isDate      = new StringCheck();
            bool        correctDate = isDate.CheckDate(stringDate);

            //Assert
            Assert.IsFalse(correctDate);
        }
コード例 #21
0
        public void CheckEmail_isSpace_falseReturned()
        {
            //Arrange
            string stringEmail = "Skochkov aleksey";
            //Act
            StringCheck isEmail      = new StringCheck();
            bool        correctEmail = isEmail.CheckEmail(stringEmail);

            //Assert
            Assert.IsFalse(correctEmail);
        }
コード例 #22
0
        public void CheckTicket_isCorrect_TrueReturned()
        {
            //Arrange
            string stringTicket = "А-1243-23";
            //Act
            StringCheck isBookTicket  = new StringCheck();
            bool        correctTicket = isBookTicket.CheckTradingTicket(stringTicket);

            //Assert
            Assert.IsTrue(correctTicket);
        }
コード例 #23
0
        public void CheckFName_isRus_TrueReturned()
        {
            //Arrange
            string stringName = "Скочков";
            //Act
            StringCheck isFName     = new StringCheck();
            bool        correctName = isFName.CheckFName(stringName);

            //Assert
            Assert.IsTrue(correctName);
        }
コード例 #24
0
        public void CheckTicket_isOnlyNumbers_TrueReturned()
        {
            //Arrange
            string stringTicket = "1231231";
            //Act
            StringCheck isBookTicket  = new StringCheck();
            bool        correctTicket = isBookTicket.CheckTradingTicket(stringTicket);

            //Assert
            Assert.IsFalse(correctTicket);
        }
コード例 #25
0
        public void CheckFName_isNumbersWord_FalseReturned()
        {
            //Arrange
            string stringName = "Скочков123";
            //Act
            StringCheck isFName     = new StringCheck();
            bool        correctName = isFName.CheckFName(stringName);

            //Assert
            Assert.IsFalse(correctName);
        }
コード例 #26
0
        public void CheckBookYear_isEngLetters_FalseReturned()
        {
            //Arrange
            string stringBookYear = "dfgdfgdfg";
            //Act
            StringCheck isBookYear  = new StringCheck();
            bool        correctYear = isBookYear.CheckBookYear(stringBookYear);

            //Assert
            Assert.IsFalse(correctYear);
        }
コード例 #27
0
        public void CheckBookIsbn_isTooMuchChars_FalseReturned()
        {
            //Arrange
            string stringBookIsbn = "536-2-56237-3653-2";
            //Act
            StringCheck isBookIsbn  = new StringCheck();
            bool        correctIsbn = isBookIsbn.CheckBookIsbn(stringBookIsbn);

            //Assert
            Assert.IsFalse(correctIsbn);
        }
コード例 #28
0
        public void CheckName_isSpace_FalseReturned()
        {
            //Arrange
            string stringName = "Ал ексей";
            //Act
            StringCheck isName      = new StringCheck();
            bool        correctName = isName.CheckName(stringName);

            //Assert
            Assert.IsFalse(correctName);
        }
コード例 #29
0
        public void CheckBookIsbn_isWithOutDilimiter_FalseReturned()
        {
            //Arrange
            string stringBookIsbn = "1234567890152";
            //Act
            StringCheck isBookIsbn  = new StringCheck();
            bool        correctIsbn = isBookIsbn.CheckBookIsbn(stringBookIsbn);

            //Assert
            Assert.IsFalse(correctIsbn);
        }
コード例 #30
0
        public void CheckBookYear_isCorrect_TrueReturned()
        {
            //Arrange
            string stringBookYear = "1994";
            //Act
            StringCheck isBookYear  = new StringCheck();
            bool        correctYear = isBookYear.CheckBookYear(stringBookYear);

            //Assert
            Assert.IsTrue(correctYear);
        }