/// <summary> /// Récupère un lecteur par ses prénom et nom. /// </summary> /// <param name="sender"></param> Bouton "Rechercher" /// <param name="e"></param> private void SearchByName(object sender, EventArgs e) { if (tbFirstName.ReadOnly == true) { LockNames(false); } else { if (CheckInputStrg.Check(InputType.Name, tbFirstName.Text) && CheckInputStrg.Check(InputType.Name, tbLastName.Text) == true) { GetAffiliate(tbFirstName.Text, tbLastName.Text); } else { if (CheckInputStrg.Check(InputType.Name, tbFirstName.Text) != true) { MessageBox.Show("Entre 3 et 20 caractères. lettres, un espace ou \" ' \" ou \"-\".", "Prénom incorrect ou manquant !", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show("Entre 3 et 20 caractères. lettres, un espace ou \" ' \" ou \"-\".", "Nom incorrect ou manquant !", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } }
/// <summary> /// Recherche un ouvrage d'après son titre. /// Eventuellement parmis une liste de plusieurs retours. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbTitleSearch_KeyUp(object sender, KeyEventArgs e) { if (true && e.KeyCode == Keys.Enter && CheckInputStrg.Check(CheckInputStrg.InputType.Title, tbTitleSearch.Text) == true) //searchMode = true && { GetVolumeDetailsByTitle(tbTitleSearch.Text); } }
/// <summary> /// En mode "recherche", lance la recherche d'un volume d'après son ISBN /// lorsque l'utilisateur relache la touche enter. /// Vérifie chaque touches relachées. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbIsbnSearch_KeyUp(object sender, KeyEventArgs e) { if (searchMode = true && e.KeyCode == Keys.Enter && CheckInputStrg.Check(CheckInputStrg.InputType.Isbn, tbIsbnSearch.Text) == true) { GetVolumeDetailsByIsbn(tbIsbnSearch.Text); } }
/// <summary> /// Rajoute un auteur à la liste provisoire. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btAddAuthor_Click(object sender, EventArgs e) { if ( CheckInputStrg.Check(CheckInputStrg.InputType.Name, tbFirstName.Text) == true && CheckInputStrg.Check(CheckInputStrg.InputType.Name, tbLastName.Text) ) { ServiceReference.Author newAuthor = new ServiceReference.Author(); newAuthor.FirstName = tbFirstName.Text; newAuthor.LastName = tbLastName.Text; _newAuthors.Add(newAuthor); } }
/// <summary> /// Créé un volume ou un item et appelle la méthode d'ajout. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btAddAction_Click(object sender, EventArgs e) { // Si ajout de volume. if (rbAddVolume.Checked == true) { // test et save if ( CheckInputStrg.Check(CheckInputStrg.InputType.Isbn, tbIsbnSearch.Text) == true && CheckInputStrg.Check(CheckInputStrg.InputType.Title, tbTitleSearch.Text) == true && _newAuthors != null ) { ServiceReference.Volume newVolume = new ServiceReference.Volume(); newVolume.Isbn = tbIsbnSearch.Text; newVolume.Title = tbTitleSearch.Text; newVolume.Authors = _newAuthors.ToArray <ServiceReference.Author>(); newVolume.Cover = tbCoverPath.Text; AddVolume(newVolume); _newAuthors.Clear(); _bsDataGridView.ResetBindings(false); // Sinon ne mets pas l'affichage à jour. GetVolumeDetailsByIsbn(newVolume.Isbn); //Pour rafraîchir et avoir l'Id. SetVolInfoBox(true); } } // Si ajout d'exemplaire. // test et save if ( CheckInputStrg.Check(CheckInputStrg.InputType.ItemCode, tbItemCode.Text) == true && _currentVolume != null && _currentLibrary != null ) { ServiceReference.Item newItem = new ServiceReference.Item(); newItem.Code = tbItemCode.Text; newItem.LibraryId = _currentLibrary.Id; newItem.VolumeId = (Int32)_currentVolume.Id; newItem.BuyDate = dateTimePickerItem.Value; AddItem(newItem); // GetVolumeDetailsByIsbn(_currentVolume.Isbn); } else { MessageBox.Show("Veuillez remplir les champs !", "Informations manquantes", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// <summary> /// Lance la recherche d'un lecteur et de ses emprunts d'après son Id /// si "Enter" est actionné. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbCardNum_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (CheckInputStrg.Check(InputType.CardNum, tbCardNum.Text) == true) { GetAffiliate(int.Parse(tbCardNum.Text)); if (_affiliate != null) { GetEmprunts(_affiliate.CardNum); } } else { MessageBox.Show("Veuillez donner un numéro de lecteur valide !", "Informations manquantes ou incorrectes", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }
/// <summary> /// Charge un emprunt et le lecteur correspondant /// par le code de l'exemplaire emprunté. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void textBoxCode_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (CheckInputStrg.Check(InputType.ItemCode, textBoxCode.Text) == true) { GetEmpruntbyCode(textBoxCode.Text); textBoxCode.Clear(); if (_emprunts.Count != 0) { GetAffiliate(_emprunts[0].CardNum); } } else { MessageBox.Show("Veuillez entrer un code d'exemplaire valide !", "Informations manquantes / incorrectes", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }
/// <summary> /// Prépare l'ajout d'un volume ou d'un exemplaire, selon le choix de l'utilisateur. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void rbAddVolume_CheckedChanged(object sender, EventArgs e) { foreach (Control control in this.panelRadioButton.Controls) { if (control is RadioButton) { RadioButton radio = control as RadioButton; if (radio.Checked) { switch (radio.Name) { case "rbAddVolume": // Mise en forme visuelle. panelAddItem.BorderStyle = BorderStyle.None; panelAddItem.Hide(); listBoxAuthor.Visible = true; SetVolSrchInfos(false); tbIsbnSearch.ReadOnly = false; tbTitleSearch.ReadOnly = false; tbFirstName.ReadOnly = false; tbLastName.ReadOnly = false; tbCoverPath.ReadOnly = false; break; case "rbAddItem": // Mise en forme visuelle. panelAddItem.BorderStyle = BorderStyle.FixedSingle; panelAddItem.Show(); listBoxAuthor.Visible = false; tbItemCode.ReadOnly = true; tbCoverPath.ReadOnly = true; dateTimePickerItem.Hide(); //Logique if (_currentVolume != null) { SetVolSrchInfos(true); //(Ne devrait pas arriver, sécurité). //Si les infos affichéees sont celles du volume en cours, on //locke les textboxes Volume, sinon on propose de sauver le volume actuel. if (tbIsbnSearch.Text == _currentVolume.Isbn && tbTitleSearch.Text == _currentVolume.Title) { // Lock le volume tbIsbnSearch.ReadOnly = true; tbTitleSearch.ReadOnly = true; tbFirstName.ReadOnly = true; tbLastName.ReadOnly = true; //Unlock l'item tbItemCode.ReadOnly = false; dateTimePickerItem.Show(); } // Ou on propose de sauver le volume actuel. else { DialogResult dr = MessageBox.Show(" Choisisez un volume avant de créer un exemplaire !\n" + "Voulez vous créer un volume sur base des données rentrées ?", "Warning", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { // test et save if ( CheckInputStrg.Check(CheckInputStrg.InputType.Isbn, tbIsbnSearch.Text) == true && CheckInputStrg.Check(CheckInputStrg.InputType.Title, tbTitleSearch.Text) == true && _newAuthors != null ) { ServiceReference.Volume newVolume = new ServiceReference.Volume(); newVolume.Isbn = tbIsbnSearch.Text; newVolume.Title = tbTitleSearch.Text; newVolume.Authors = _newAuthors.ToArray <ServiceReference.Author>(); newVolume.Cover = tbCoverPath.Text; AddVolume(newVolume); } this.Close(); } else if (dr == DialogResult.No) { this.Close(); searchMode = true; _currentVolume = null; SetVolSrchInfos(true); SetVolInfoBox(true); } } } break; default: break; } } } } }