Ejemplo n.º 1
0
 private void AuthorText_Validating(object sender, CancelEventArgs e)
 {
     try
     {
         AuthorText.CausesValidation = false;
         string author = AuthorText.Text;
         if (author == "")
         {
             throw new Exception("Author can't be empty");
         }
     }
     catch (Exception exception)
     {
         e.Cancel = true;
         AuthorErrorProvider.SetError(AuthorText, exception.Message);
     }
 }
Ejemplo n.º 2
0
 private void AuthorText_Validated(object sender, EventArgs e)
 {
     AuthorErrorProvider.SetError(AuthorText, "");
 }
Ejemplo n.º 3
0
        private bool ValidateForm()
        {
            bool result = true;
            MusicAlbumsGuideDB context = new MusicAlbumsGuideDB();

            if (string.IsNullOrEmpty(NameTextBox.Text) || NameTextBox.Text == "Введите имя альбома" || NameTextBox.Text == " ")
            {
                NameErrorProvider.SetError(NameTextBox, "Поле имени должно быть заполнено");
                if (result == true)
                {
                    result = false;
                }
            }
            else
            {
                if (NameTextBox.Text.Length > 40)
                {
                    NameErrorProvider.SetError(NameTextBox, "Слишком длинное имя альбома");
                    if (result == true)
                    {
                        result = false;
                    }
                }
                else
                {
                    NameErrorProvider.Clear();
                }
            }
            List <Album>  albums = context.Albums.Include(p => p.Author).ToList();
            List <string> names  = new List <string>();

            foreach (var album in albums)
            {
                names.Add(album.Name);
            }

            if (string.IsNullOrEmpty(GenreComboBox.Text) || GenreComboBox.Text == "Выберите жанр альбома" || GenreComboBox.Text == " ")
            {
                GenreErrorProvider.SetError(GenreComboBox, "Поле жанра должно быть заполнено");
                if (result == true)
                {
                    result = false;
                }
            }
            else
            {
                GenreErrorProvider.Clear();
            }

            if (string.IsNullOrEmpty(AuthorTextBox.Text) || AuthorTextBox.Text == "Введите автора альбома" || AuthorTextBox.Text == " ")
            {
                AuthorErrorProvider.SetError(AuthorTextBox, "Поле автора должно быть заполнено");
                if (result == true)
                {
                    result = false;
                }
            }

            if (names.Contains(NameTextBox.Text))
            {
                List <Album> find = albums.Where(p => p.Name == NameTextBox.Text && p.Author.Name == AuthorTextBox.Name).ToList();
                if (find.Count != 0)
                {
                    AuthorErrorProvider.SetError(NameTextBox, "Альбом с таким именем у данного автора уже существует");
                }
                if (result == true)
                {
                    result = false;
                }
            }
            else
            {
                AuthorErrorProvider.Clear();
            }

            if (string.IsNullOrEmpty(ReleaseYearTextBox.Text) || ReleaseYearTextBox.Text == "Введите год выпуска альбома" || ReleaseYearTextBox.Text == " ")
            {
                ReleaseYearErrorProvider.SetError(ReleaseYearTextBox, "Поле года релиза должно быть заполнено");
                if (result == true)
                {
                    result = false;
                }
            }
            else
            {
                int  res;
                bool isInt = Int32.TryParse(ReleaseYearTextBox.Text, out res);
                if (!isInt)
                {
                    ReleaseYearErrorProvider.SetError(ReleaseYearTextBox, "Поле года должно быть целым числом");
                    if (result == true)
                    {
                        result = false;
                    }
                }
                else if (res > DateTime.Now.Year)
                {
                    ReleaseYearErrorProvider.SetError(ReleaseYearTextBox, "Год не должен быть больше текущего");
                    if (result == true)
                    {
                        result = false;
                    }
                }
                else if (res < 1000)
                {
                    ReleaseYearErrorProvider.SetError(ReleaseYearTextBox, "Введите корректный год");
                    if (result == true)
                    {
                        result = false;
                    }
                }
                else
                {
                    ReleaseYearErrorProvider.Clear();
                }
            }
            if (string.IsNullOrEmpty(TypeComboBox.Text) || TypeComboBox.Text == "Выберите тип альбома" || TypeComboBox.Text == " ")
            {
                TypeErrorProvider.SetError(TypeComboBox, "Поле типа альбома должно быть заполнено");
                if (result == true)
                {
                    result = false;
                }
            }
            else
            {
                TypeErrorProvider.Clear();
            }

            if (string.IsNullOrEmpty(CarrierComboBox.Text) || CarrierComboBox.Text == "Выберите тип носителя альбома" || CarrierComboBox.Text == " ")
            {
                CarrierTypeErrorProvider.SetError(CarrierComboBox, "Поле типа носителя альбома должно быть заполнено");
                if (result == true)
                {
                    result = false;
                }
            }
            else
            {
                CarrierTypeErrorProvider.Clear();
            }

            if (string.IsNullOrEmpty(TrackCountTextBox.Text) || TrackCountTextBox.Text == "Введите количество дорожек в альбоме" || TrackCountTextBox.Text == " ")
            {
                TrackCountErrorProvider.SetError(TrackCountTextBox, "Поле количнства дорожек должно быть заполнено");
                if (result == true)
                {
                    result = false;
                }
            }
            else
            {
                int  res;
                bool isInt = Int32.TryParse(TrackCountTextBox.Text, out res);
                if (!isInt)
                {
                    TrackCountErrorProvider.SetError(TrackCountTextBox, "Количество дорожек должно быть целым числом");
                    if (result == true)
                    {
                        result = false;
                    }
                }
                else if (res <= 0)
                {
                    TrackCountErrorProvider.SetError(TrackCountTextBox, "Количетсов дорожек не может быть равно или меньше нуля");
                    if (result == true)
                    {
                        result = false;
                    }
                }
                else
                {
                    TrackCountErrorProvider.Clear();
                }
            }
            if (string.IsNullOrEmpty(ReleaseLabelTextBox.Text) || ReleaseLabelTextBox.Text == "Введите название выпускающего лэйбла" || ReleaseLabelTextBox.Text == " ")
            {
                ReleaseLabelErrorProvider.SetError(ReleaseLabelTextBox, "Поле выпускающего лэйбла должно быть заполнено");
                if (result == true)
                {
                    result = false;
                }
            }
            else
            {
                ReleaseLabelErrorProvider.Clear();
            }

            return(result);
        }