diff --git a/MediaTekDocuments/controller/FrmAuthController.cs b/MediaTekDocuments/controller/FrmAuthController.cs
index e98af7d..c312b45 100644
--- a/MediaTekDocuments/controller/FrmAuthController.cs
+++ b/MediaTekDocuments/controller/FrmAuthController.cs
@@ -5,15 +5,30 @@ using System;
namespace MediaTekDocuments.controller
{
+ ///
+ /// Contrôleur pour la fenêtre d'authentification
+ ///
class FrmAuthController
{
+ ///
+ /// Objet d'accès aux données
+ ///
private readonly Access access;
+ ///
+ /// Constructeur : récupère l'instance unique d'accès aux données
+ ///
public FrmAuthController()
{
access = Access.GetInstance();
}
+ ///
+ /// Vérifie les identifiants de connexion
+ ///
+ /// Identifiant de l'utilisateur
+ /// Mot de passe de l'utilisateur
+ /// Objet Utilisateur si connexion réussie, null sinon
public Utilisateur GetConnection(string login, string pwd)
{
return access.GetConnection(login, pwd);
diff --git a/MediaTekDocuments/controller/FrmMediatekController.cs b/MediaTekDocuments/controller/FrmMediatekController.cs
index 403c129..a70647a 100644
--- a/MediaTekDocuments/controller/FrmMediatekController.cs
+++ b/MediaTekDocuments/controller/FrmMediatekController.cs
@@ -98,46 +98,90 @@ namespace MediaTekDocuments.controller
return access.CreerExemplaire(exemplaire);
}
+ ///
+ /// Récupère les commandes d'un document
+ ///
+ /// Identifiant du document
+ /// Liste des commandes du document
public List GetCommandesDocument(string idDocument)
{
return Access.GetInstance().GetCommandesDocument(idDocument);
}
+ ///
+ /// Supprime une commande de document
+ ///
+ /// Objet CommandeDocument à supprimer
+ /// True si la suppression a pu se faire
public bool SupprimerCommandeDocument(CommandeDocument commande)
{
return Access.GetInstance().DeleteCommande(commande.Id);
}
+ ///
+ /// Récupère la liste des suivis
+ ///
+ /// Liste d'objets Categorie (suivi)
public List GetAllSuivis()
{
return Access.GetInstance().GetAllSuivis();
}
+ ///
+ /// Crée une nouvelle commande de document
+ ///
+ /// Objet CommandeDocument à créer
+ /// True si la création a pu se faire
public bool createCommande(CommandeDocument commande)
{
return access.CreerCommande(commande);
}
+ ///
+ /// Récupère le prochain identifiant de commande
+ ///
+ /// Identifiant de commande formaté
public string GetNextCommandeId()
{
return access.GetNextCommandeId();
}
+ ///
+ /// Met à jour l'état de suivi d'une commande
+ ///
+ /// Identifiant de la commande
+ /// Identifiant du nouvel état de suivi
+ /// True si la mise à jour a pu se faire
public bool UpdateSuiviCommande(string idCommande, string idSuivi)
{
return access.UpdateSuiviCommande(idCommande, idSuivi);
}
+ ///
+ /// Récupère les abonnements d'une revue
+ ///
+ /// Identifiant de la revue
+ /// Liste des abonnements de la revue
public List GetAbonnements(string idRevue)
{
return access.GetAbonnements(idRevue);
}
+ ///
+ /// Crée un nouvel abonnement
+ ///
+ /// Objet Abonnement à créer
+ /// True si la création a pu se faire
public bool CreerAbonnement(Abonnement abonnement)
{
return access.CreerAbonnement(abonnement);
}
+ ///
+ /// Supprime un abonnement
+ ///
+ /// Objet Abonnement à supprimer
+ /// True si la suppression a pu se faire
public bool SupprimerAbonnement(Abonnement abonnement)
{
return access.SupprimerAbonnement(abonnement.Id);
diff --git a/MediaTekDocuments/dal/Access.cs b/MediaTekDocuments/dal/Access.cs
index 00c41c9..b068497 100644
--- a/MediaTekDocuments/dal/Access.cs
+++ b/MediaTekDocuments/dal/Access.cs
@@ -34,7 +34,8 @@ namespace MediaTekDocuments.dal
private const string POST = "POST";
///
/// méthode HTTP pour update
- ///
+ ///
+ private const string PUT = "PUT";
///
/// méthode HTTP pour delete
@@ -68,6 +69,10 @@ namespace MediaTekDocuments.dal
}
}
+ ///
+ /// Création et retour de l'instance unique de la classe
+ ///
+ /// instance unique de la classe
public static Access GetInstance()
{
if (instance == null)
@@ -266,6 +271,11 @@ namespace MediaTekDocuments.dal
return lesCommandes;
}
+ ///
+ /// Supprime une commande
+ ///
+ /// ID de la commande à supprimer
+ /// True si la suppression a pu se faire
public bool DeleteCommande(string idCommande)
{
@@ -282,12 +292,21 @@ namespace MediaTekDocuments.dal
}
}
+ ///
+ /// Récupère la liste des suivis
+ ///
+ /// Liste des suivis
public List GetAllSuivis()
{
IEnumerable lesSuivis = TraitementRecup(GET, "suivi", null);
return new List(lesSuivis);
}
+ ///
+ /// Crée une commande de document
+ ///
+ /// Objet CommandeDocument à créer
+ /// True si la création a pu se faire
public bool CreerCommande(CommandeDocument commande)
{
String jsonExemplaire = JsonConvert.SerializeObject(commande, new CustomDateTimeConverter());
@@ -303,6 +322,10 @@ namespace MediaTekDocuments.dal
return false;
}
+ ///
+ /// Récupère le prochain identifiant de commande
+ ///
+ /// Prochain ID de commande au format string
public string GetNextCommandeId()
{
List result = TraitementRecup(GET, "maxcommande", null);
@@ -321,6 +344,13 @@ namespace MediaTekDocuments.dal
}
return "0001";
}
+
+ ///
+ /// Met à jour le suivi d'une commande
+ ///
+ /// ID de la commande
+ /// Nouvel ID de suivi
+ /// True si la mise à jour a pu se faire
public bool UpdateSuiviCommande(string idCommande, string idSuivi)
{
String jsonSuivi = convertToJson("idSuivi", idSuivi);
@@ -337,12 +367,22 @@ namespace MediaTekDocuments.dal
}
}
+ ///
+ /// Récupère les abonnements d'une revue
+ ///
+ /// ID de la revue
+ /// Liste des abonnements
public List GetAbonnements(string idRevue)
{
string jsonIdRevue = convertToJson("id", idRevue);
return TraitementRecup(GET, "commanderevue/" + jsonIdRevue, null);
}
+ ///
+ /// Crée un abonnement
+ ///
+ /// Objet Abonnement à créer
+ /// True si la création a pu se faire
public bool CreerAbonnement(Abonnement abonnement)
{
string jsonAbonnement = JsonConvert.SerializeObject(abonnement, new CustomDateTimeConverter());
@@ -359,6 +399,11 @@ namespace MediaTekDocuments.dal
}
}
+ ///
+ /// Supprime un abonnement
+ ///
+ /// ID de l'abonnement à supprimer
+ /// True si la suppression a pu se faire
public bool SupprimerAbonnement(string idAbonnement)
{
string jsonId = convertToJson("id", idAbonnement);
@@ -373,6 +418,12 @@ namespace MediaTekDocuments.dal
}
}
+ ///
+ /// Tente de connecter un utilisateur
+ ///
+ /// Login de l'utilisateur
+ /// Mot de passe de l'utilisateur
+ /// Objet Utilisateur si connecté, null sinon
public Utilisateur GetConnection(string login, string pwd)
{
Dictionary loginInfo = new Dictionary
diff --git a/MediaTekDocuments/manager/ApiRest.cs b/MediaTekDocuments/manager/ApiRest.cs
index 261fe9e..3e75960 100644
--- a/MediaTekDocuments/manager/ApiRest.cs
+++ b/MediaTekDocuments/manager/ApiRest.cs
@@ -43,7 +43,7 @@ namespace MediaTekDocuments.manager
///
/// adresse de l'api
/// chaîne d'authentificatio (login:pwd)
- ///
+ /// Instance unique de la classe ApiRest
public static ApiRest GetInstance(String uriApi, String authenticationString)
{
if(instance == null)
diff --git a/MediaTekDocuments/model/Abonnement.cs b/MediaTekDocuments/model/Abonnement.cs
index 5fd6ee4..a3ff78c 100644
--- a/MediaTekDocuments/model/Abonnement.cs
+++ b/MediaTekDocuments/model/Abonnement.cs
@@ -1,15 +1,41 @@
-using System;
+using System;
namespace MediaTekDocuments.model
{
+ ///
+ /// Classe métier Abonnement (contient les informations sur un abonnement à une revue)
+ ///
public class Abonnement
{
+ ///
+ /// Obtient ou définit l'identifiant de l'abonnement
+ ///
public string Id { get; set; }
+ ///
+ /// Obtient ou définit la date de la commande
+ ///
public DateTime DateCommande { get; set; }
+ ///
+ /// Obtient ou définit le montant de l'abonnement
+ ///
public double Montant { get; set; }
+ ///
+ /// Obtient ou définit la date de fin de l'abonnement
+ ///
public DateTime DateFinAbonnement { get; set; }
+ ///
+ /// Obtient ou définit l'identifiant de la revue associée
+ ///
public string IdRevue { get; set; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant de l'abonnement
+ /// Date de la commande
+ /// Montant de l'abonnement
+ /// Date de fin de l'abonnement
+ /// Identifiant de la revue associée
public Abonnement(string id, DateTime dateCommande, double montant, DateTime dateFinAbonnement, string idRevue)
{
this.Id = id;
diff --git a/MediaTekDocuments/model/Categorie.cs b/MediaTekDocuments/model/Categorie.cs
index 9586515..fdd3748 100644
--- a/MediaTekDocuments/model/Categorie.cs
+++ b/MediaTekDocuments/model/Categorie.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,9 +6,20 @@ namespace MediaTekDocuments.model
///
public class Categorie
{
+ ///
+ /// Obtient l'identifiant de la catégorie
+ ///
public string Id { get; }
+ ///
+ /// Obtient le libellé de la catégorie
+ ///
public string Libelle { get; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant de la catégorie
+ /// Libellé de la catégorie
public Categorie(string id, string libelle)
{
this.Id = id;
@@ -18,7 +29,7 @@ namespace MediaTekDocuments.model
///
/// Récupération du libellé pour l'affichage dans les combos
///
- /// Libelle
+ /// Le libellé de la catégorie
public override string ToString()
{
return this.Libelle;
diff --git a/MediaTekDocuments/model/CommandeDocument.cs b/MediaTekDocuments/model/CommandeDocument.cs
index cc3731c..c3c18b2 100644
--- a/MediaTekDocuments/model/CommandeDocument.cs
+++ b/MediaTekDocuments/model/CommandeDocument.cs
@@ -1,17 +1,51 @@
-using System;
+using System;
namespace MediaTekDocuments.model
{
+ ///
+ /// Classe métier CommandeDocument (contient les informations sur une commande de livres ou de DVD)
+ ///
public class CommandeDocument
{
+ ///
+ /// Obtient ou définit l'identifiant de la commande
+ ///
public string Id { get; set; }
+ ///
+ /// Obtient ou définit la date de la commande
+ ///
public DateTime DateCommande { get; set; }
+ ///
+ /// Obtient ou définit le montant de la commande
+ ///
public double Montant { get; set; }
+ ///
+ /// Obtient ou définit le nombre d'exemplaires commandés
+ ///
public int NbExemplaire { get; set; }
+ ///
+ /// Obtient ou définit l'identifiant du livre ou DVD associé
+ ///
public string IdLivreDvd { get; set; }
+ ///
+ /// Obtient ou définit l'identifiant de l'état de suivi de la commande
+ ///
public int IdSuivi { get; set; }
+ ///
+ /// Obtient ou définit le libellé de l'état de suivi
+ ///
public string LibelleSuivi { get; set; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant de la commande
+ /// Date de la commande
+ /// Montant de la commande
+ /// Nombre d'exemplaires
+ /// Identifiant du document (livre ou dvd)
+ /// Identifiant du suivi
+ /// Libellé du suivi
public CommandeDocument(string id, DateTime dateCommande, double montant, int nbExemplaire, string idLivreDvd, int idSuivi, string libelleSuivi)
{
this.Id = id;
diff --git a/MediaTekDocuments/model/Document.cs b/MediaTekDocuments/model/Document.cs
index 6432acb..53d1674 100644
--- a/MediaTekDocuments/model/Document.cs
+++ b/MediaTekDocuments/model/Document.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,16 +6,55 @@ namespace MediaTekDocuments.model
///
public class Document
{
+ ///
+ /// Obtient l'identifiant du document
+ ///
public string Id { get; }
+ ///
+ /// Obtient le titre du document
+ ///
public string Titre { get; }
+ ///
+ /// Obtient l'URL de l'image du document
+ ///
public string Image { get; }
+ ///
+ /// Obtient l'identifiant du genre du document
+ ///
public string IdGenre { get; }
+ ///
+ /// Obtient le libellé du genre du document
+ ///
public string Genre { get; }
+ ///
+ /// Obtient l'identifiant du public du document
+ ///
public string IdPublic { get; }
+ ///
+ /// Obtient le libellé du public du document
+ ///
public string Public { get; }
+ ///
+ /// Obtient l'identifiant du rayon du document
+ ///
public string IdRayon { get; }
+ ///
+ /// Obtient le libellé du rayon du document
+ ///
public string Rayon { get; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant du document
+ /// Titre du document
+ /// URL de l'image du document
+ /// Identifiant du genre
+ /// Libellé du genre
+ /// Identifiant du public
+ /// Libellé du public
+ /// Identifiant du rayon
+ /// Libellé du rayon
public Document(string id, string titre, string image, string idGenre, string genre, string idPublic, string lePublic, string idRayon, string rayon)
{
Id = id;
diff --git a/MediaTekDocuments/model/Dvd.cs b/MediaTekDocuments/model/Dvd.cs
index c9bf374..74a8982 100644
--- a/MediaTekDocuments/model/Dvd.cs
+++ b/MediaTekDocuments/model/Dvd.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,10 +6,34 @@ namespace MediaTekDocuments.model
///
public class Dvd : LivreDvd
{
+ ///
+ /// Obtient la durée du DVD
+ ///
public int Duree { get; }
+ ///
+ /// Obtient le réalisateur du DVD
+ ///
public string Realisateur { get; }
+ ///
+ /// Obtient le synopsis du DVD
+ ///
public string Synopsis { get; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant du DVD
+ /// Titre du DVD
+ /// URL de l'image du DVD
+ /// Durée du DVD
+ /// Réalisateur du DVD
+ /// Synopsis du DVD
+ /// Identifiant du genre
+ /// Libellé du genre
+ /// Identifiant du public
+ /// Libellé du public
+ /// Identifiant du rayon
+ /// Libellé du rayon
public Dvd(string id, string titre, string image, int duree, string realisateur, string synopsis,
string idGenre, string genre, string idPublic, string lePublic, string idRayon, string rayon)
: base(id, titre, image, idGenre, genre, idPublic, lePublic, idRayon, rayon)
diff --git a/MediaTekDocuments/model/Etat.cs b/MediaTekDocuments/model/Etat.cs
index fa1f105..277d0a0 100644
--- a/MediaTekDocuments/model/Etat.cs
+++ b/MediaTekDocuments/model/Etat.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,9 +6,20 @@ namespace MediaTekDocuments.model
///
public class Etat
{
+ ///
+ /// Obtient ou définit l'identifiant de l'état
+ ///
public string Id { get; set; }
+ ///
+ /// Obtient ou définit le libellé de l'état
+ ///
public string Libelle { get; set; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant de l'état
+ /// Libellé de l'état
public Etat(string id, string libelle)
{
this.Id = id;
diff --git a/MediaTekDocuments/model/Exemplaire.cs b/MediaTekDocuments/model/Exemplaire.cs
index 515a186..6a15354 100644
--- a/MediaTekDocuments/model/Exemplaire.cs
+++ b/MediaTekDocuments/model/Exemplaire.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace MediaTekDocuments.model
{
@@ -7,12 +7,35 @@ namespace MediaTekDocuments.model
///
public class Exemplaire
{
+ ///
+ /// Obtient ou définit le numéro de l'exemplaire
+ ///
public int Numero { get; set; }
+ ///
+ /// Obtient ou définit l'URL de la photo de l'exemplaire
+ ///
public string Photo { get; set; }
+ ///
+ /// Obtient ou définit la date d'achat de l'exemplaire
+ ///
public DateTime DateAchat { get; set; }
+ ///
+ /// Obtient ou définit l'identifiant de l'état de l'exemplaire
+ ///
public string IdEtat { get; set; }
+ ///
+ /// Obtient ou définit l'identifiant du document associé
+ ///
public string Id { get; set; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Numéro de l'exemplaire
+ /// Date d'achat
+ /// URL de la photo
+ /// Identifiant de l'état
+ /// Identifiant du document
public Exemplaire(int numero, DateTime dateAchat, string photo, string idEtat, string idDocument)
{
this.Numero = numero;
diff --git a/MediaTekDocuments/model/Genre.cs b/MediaTekDocuments/model/Genre.cs
index 183422f..03220a9 100644
--- a/MediaTekDocuments/model/Genre.cs
+++ b/MediaTekDocuments/model/Genre.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,6 +6,11 @@ namespace MediaTekDocuments.model
///
public class Genre : Categorie
{
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant du genre
+ /// Libellé du genre
public Genre(string id, string libelle) : base(id, libelle)
{
}
diff --git a/MediaTekDocuments/model/Livre.cs b/MediaTekDocuments/model/Livre.cs
index 4d6f8df..44c676b 100644
--- a/MediaTekDocuments/model/Livre.cs
+++ b/MediaTekDocuments/model/Livre.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,10 +6,34 @@ namespace MediaTekDocuments.model
///
public class Livre : LivreDvd
{
+ ///
+ /// Obtient l'ISBN du livre
+ ///
public string Isbn { get; }
+ ///
+ /// Obtient l'auteur du livre
+ ///
public string Auteur { get; }
+ ///
+ /// Obtient la collection du livre
+ ///
public string Collection { get; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant du livre
+ /// Titre du livre
+ /// URL de l'image du livre
+ /// ISBN du livre
+ /// Auteur du livre
+ /// Collection du livre
+ /// Identifiant du genre
+ /// Libellé du genre
+ /// Identifiant du public
+ /// Libellé du public
+ /// Identifiant du rayon
+ /// Libellé du rayon
public Livre(string id, string titre, string image, string isbn, string auteur, string collection,
string idGenre, string genre, string idPublic, string lePublic, string idRayon, string rayon)
: base(id, titre, image, idGenre, genre, idPublic, lePublic, idRayon, rayon)
diff --git a/MediaTekDocuments/model/LivreDvd.cs b/MediaTekDocuments/model/LivreDvd.cs
index ff616c5..e79122e 100644
--- a/MediaTekDocuments/model/LivreDvd.cs
+++ b/MediaTekDocuments/model/LivreDvd.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,6 +6,18 @@ namespace MediaTekDocuments.model
///
public abstract class LivreDvd : Document
{
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant du document
+ /// Titre du document
+ /// URL de l'image du document
+ /// Identifiant du genre
+ /// Libellé du genre
+ /// Identifiant du public
+ /// Libellé du public
+ /// Identifiant du rayon
+ /// Libellé du rayon
protected LivreDvd(string id, string titre, string image, string idGenre, string genre,
string idPublic, string lePublic, string idRayon, string rayon)
: base(id, titre, image, idGenre, genre, idPublic, lePublic, idRayon, rayon)
diff --git a/MediaTekDocuments/model/Public.cs b/MediaTekDocuments/model/Public.cs
index beb7bf7..2fddab5 100644
--- a/MediaTekDocuments/model/Public.cs
+++ b/MediaTekDocuments/model/Public.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,6 +6,11 @@ namespace MediaTekDocuments.model
///
public class Public : Categorie
{
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant du public
+ /// Libellé du public
public Public(string id, string libelle) : base(id, libelle)
{
}
diff --git a/MediaTekDocuments/model/Rayon.cs b/MediaTekDocuments/model/Rayon.cs
index 5cc8629..b436f78 100644
--- a/MediaTekDocuments/model/Rayon.cs
+++ b/MediaTekDocuments/model/Rayon.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,6 +6,11 @@ namespace MediaTekDocuments.model
///
public class Rayon : Categorie
{
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant du rayon
+ /// Libellé du rayon
public Rayon(string id, string libelle) : base(id, libelle)
{
}
diff --git a/MediaTekDocuments/model/Revue.cs b/MediaTekDocuments/model/Revue.cs
index 07bb3dd..ae12803 100644
--- a/MediaTekDocuments/model/Revue.cs
+++ b/MediaTekDocuments/model/Revue.cs
@@ -1,4 +1,4 @@
-
+
namespace MediaTekDocuments.model
{
///
@@ -6,9 +6,29 @@ namespace MediaTekDocuments.model
///
public class Revue : Document
{
+ ///
+ /// Obtient ou définit la périodicité de la revue
+ ///
public string Periodicite { get; set; }
+ ///
+ /// Obtient ou définit le délai de mise à disposition de la revue
+ ///
public int DelaiMiseADispo { get; set; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant de la revue
+ /// Titre de la revue
+ /// URL de l'image de la revue
+ /// Identifiant du genre
+ /// Libellé du genre
+ /// Identifiant du public
+ /// Libellé du public
+ /// Identifiant du rayon
+ /// Libellé du rayon
+ /// Périodicité
+ /// Délai de mise à disposition
public Revue(string id, string titre, string image, string idGenre, string genre,
string idPublic, string lePublic, string idRayon, string rayon,
string periodicite, int delaiMiseADispo)
diff --git a/MediaTekDocuments/model/Utilisateur.cs b/MediaTekDocuments/model/Utilisateur.cs
index 5e9e356..4054952 100644
--- a/MediaTekDocuments/model/Utilisateur.cs
+++ b/MediaTekDocuments/model/Utilisateur.cs
@@ -1,12 +1,42 @@
-public class Utilisateur
+///
+/// Classe métier Utilisateur (représente un utilisateur de l'application)
+///
+public class Utilisateur
{
+ ///
+ /// Obtient ou définit l'identifiant technique de l'utilisateur
+ ///
public string Id { get; set; }
+ ///
+ /// Obtient ou définit l'identifiant de connexion de l'utilisateur
+ ///
public string Identifiant { get; set; }
+ ///
+ /// Obtient ou définit le nom de l'utilisateur
+ ///
public string Nom { get; set; }
+ ///
+ /// Obtient ou définit le prénom de l'utilisateur
+ ///
public string Prenom { get; set; }
+ ///
+ /// Obtient ou définit l'identifiant du service de l'utilisateur
+ ///
public int IdService { get; set; }
+ ///
+ /// Obtient ou définit le libellé du service de l'utilisateur
+ ///
public string LibelleService { get; set; }
+ ///
+ /// Initialise une nouvelle instance de la classe
+ ///
+ /// Identifiant technique
+ /// Identifiant de connexion
+ /// Nom
+ /// Prénom
+ /// Identifiant du service
+ /// Libellé du service
public Utilisateur(string id, string identifiant, string nom, string prenom, int idService, string libelleService)
{
this.Id = id;
diff --git a/MediaTekDocuments/view/FrmAuth.cs b/MediaTekDocuments/view/FrmAuth.cs
index e31ff7c..9a820dc 100644
--- a/MediaTekDocuments/view/FrmAuth.cs
+++ b/MediaTekDocuments/view/FrmAuth.cs
@@ -10,23 +10,49 @@ using System.IO;
namespace MediaTekDocuments.view
{
+ ///
+ /// Fenêtre d'authentification de l'application.
+ /// Permet à l'utilisateur de se connecter en saisissant ses identifiants.
+ ///
public partial class FrmAuth : Form
{
+ ///
+ /// Instance du contrôleur pour la gestion de l'authentification.
+ ///
private readonly FrmAuthController controller;
+
+ ///
+ /// Obtient l'utilisateur authentifié.
+ ///
public Utilisateur user { get; private set; }
+ ///
+ /// Initialise une nouvelle instance de la classe .
+ /// Configure le contrôleur d'authentification.
+ ///
public FrmAuth()
{
InitializeComponent();
this.controller = new FrmAuthController();
}
+ ///
+ /// Gère l'événement de chargement du formulaire.
+ ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void FrmAuth_Load(object sender, EventArgs e)
{
// Méthode laissée vide intentionnellement.
// Aucun traitement spécifique n'est requis au chargement du formulaire d'authentification.
}
+ ///
+ /// Gère le clic sur le bouton de connexion.
+ /// Vérifie les identifiants et le service de l'utilisateur pour autoriser l'accès.
+ ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnLogin_Click(object sender, EventArgs e)
{
string identifiant = txtIdentifiant.Text;
diff --git a/MediaTekDocuments/view/FrmMediatek.cs b/MediaTekDocuments/view/FrmMediatek.cs
index 0e7b8a7..940dfbc 100644
--- a/MediaTekDocuments/view/FrmMediatek.cs
+++ b/MediaTekDocuments/view/FrmMediatek.cs
@@ -17,18 +17,51 @@ namespace MediaTekDocuments.view
public partial class FrmMediatek : Form
{
#region Commun
+ ///
+ /// Instance du contrôleur pour la gestion des opérations de la médiathèque.
+ ///
private readonly FrmMediatekController controller;
+
+ ///
+ /// Utilisateur actuellement connecté à l'application.
+ ///
private readonly Utilisateur user;
+
+ ///
+ /// BindingSource lié à la liste des genres.
+ ///
private readonly BindingSource bdgGenres = new BindingSource();
+
+ ///
+ /// BindingSource lié à la liste des types de publics.
+ ///
private readonly BindingSource bdgPublics = new BindingSource();
+
+ ///
+ /// BindingSource lié à la liste des rayons.
+ ///
private readonly BindingSource bdgRayons = new BindingSource();
+
+ ///
+ /// BindingSource lié à la liste des étapes de suivi des commandes.
+ ///
private readonly BindingSource bdgSuivis = new BindingSource();
+
+ ///
+ /// BindingSource lié à la liste des abonnements.
+ ///
private readonly BindingSource bdgAbonnements = new BindingSource();
+
+ ///
+ /// Liste locale des abonnements pour l'affichage et les filtres.
+ ///
private List lesAbonnements = new List();
///
- /// Constructeur : création du contrôleur lié à ce formulaire
+ /// Initialise une nouvelle instance de la classe .
+ /// Configure le contrôleur, l'utilisateur et initialise l'affichage selon les droits.
///
+ /// L'utilisateur connecté.
public FrmMediatek(Utilisateur user)
{
InitializeComponent();
@@ -73,15 +106,22 @@ namespace MediaTekDocuments.view
#endregion
#region Onglet Livres
+ ///
+ /// BindingSource lié à la liste des livres.
+ ///
private readonly BindingSource bdgLivresListe = new BindingSource();
+
+ ///
+ /// Liste locale des livres pour l'affichage et les filtres.
+ ///
private List lesLivres = new List();
///
/// Ouverture de l'onglet Livres :
/// appel des méthodes pour remplir le datagrid des livres et des combos (genre, rayon, public)
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void TabLivres_Enter(object sender, EventArgs e)
{
lesLivres = controller.GetAllLivres();
@@ -111,6 +151,10 @@ namespace MediaTekDocuments.view
RemplirDgvListeLivre2(livres);
}
+ ///
+ /// Remplit le second DataGridView des livres (utilisé pour les commandes) avec la liste reçue en paramètre.
+ ///
+ /// Liste des livres à afficher.
private void RemplirDgvListeLivre2(List livres)
{
if (tabOngletsApplication.TabPages.Contains(tabCommandeLivres))
@@ -136,8 +180,8 @@ namespace MediaTekDocuments.view
/// Recherche et affichage du livre dont on a saisi le numéro.
/// Si non trouvé, affichage d'un MessageBox.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void BtnLivresNumRecherche_Click(object sender, EventArgs e)
{
if (!txbLivresNumRecherche.Text.Equals(""))
@@ -165,12 +209,12 @@ namespace MediaTekDocuments.view
}
///
- /// Recherche et affichage des livres dont le titre matche acec la saisie.
+ /// Recherche et affichage des livres dont le titre matche avec la saisie.
/// Cette procédure est exécutée à chaque ajout ou suppression de caractère
/// dans le textBox de saisie.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void TxbLivresTitreRecherche_TextChanged(object sender, EventArgs e)
{
if (!txbLivresTitreRecherche.Text.Equals(""))
@@ -238,10 +282,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur le genre
+ /// Filtre sur le genre.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void CbxLivresGenres_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxLivresGenres.SelectedIndex >= 0)
@@ -257,10 +301,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur la catégorie de public
+ /// Filtre sur la catégorie de public.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void CbxLivresPublics_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxLivresPublics.SelectedIndex >= 0)
@@ -276,10 +320,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur le rayon
+ /// Filtre sur le rayon.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void CbxLivresRayons_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxLivresRayons.SelectedIndex >= 0)
@@ -295,11 +339,11 @@ namespace MediaTekDocuments.view
}
///
- /// Sur la sélection d'une ligne ou cellule dans le grid
- /// affichage des informations du livre
+ /// Sur la sélection d'une ligne ou cellule dans le grid,
+ /// affichage des informations du livre.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void DgvLivresListe_SelectionChanged(object sender, EventArgs e)
{
if (dgvLivresListe.CurrentCell != null)
@@ -321,30 +365,30 @@ namespace MediaTekDocuments.view
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des livres
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des livres.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void BtnLivresAnnulPublics_Click(object sender, EventArgs e)
{
RemplirLivresListeComplete();
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des livres
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des livres.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void BtnLivresAnnulRayons_Click(object sender, EventArgs e)
{
RemplirLivresListeComplete();
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des livres
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des livres.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void BtnLivresAnnulGenres_Click(object sender, EventArgs e)
{
RemplirLivresListeComplete();
@@ -411,7 +455,14 @@ namespace MediaTekDocuments.view
#endregion
#region Onglet Dvd
+ ///
+ /// BindingSource lié à la liste des DVD.
+ ///
private readonly BindingSource bdgDvdListe = new BindingSource();
+
+ ///
+ /// Liste locale des DVD pour l'affichage et les filtres.
+ ///
private List lesDvd = new List();
///
@@ -475,8 +526,8 @@ namespace MediaTekDocuments.view
/// Recherche et affichage du Dvd dont on a saisi le numéro.
/// Si non trouvé, affichage d'un MessageBox.
///
- ///
- ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnDvdNumRecherche_Click(object sender, EventArgs e)
{
if (!txbDvdNumRecherche.Text.Equals(""))
@@ -508,8 +559,8 @@ namespace MediaTekDocuments.view
/// Cette procédure est exécutée à chaque ajout ou suppression de caractère
/// dans le textBox de saisie.
///
- ///
- ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void txbDvdTitreRecherche_TextChanged(object sender, EventArgs e)
{
if (!txbDvdTitreRecherche.Text.Equals(""))
@@ -536,7 +587,7 @@ namespace MediaTekDocuments.view
///
/// Affichage des informations du dvd sélectionné
///
- /// le dvd
+ /// Le dvd dont les informations doivent être affichées.
private void AfficheDvdInfos(Dvd dvd)
{
txbDvdRealisateur.Text = dvd.Realisateur;
@@ -577,10 +628,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur le genre
+ /// Filtre sur le genre.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void cbxDvdGenres_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxDvdGenres.SelectedIndex >= 0)
@@ -596,10 +647,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur la catégorie de public
+ /// Filtre sur la catégorie de public.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void cbxDvdPublics_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxDvdPublics.SelectedIndex >= 0)
@@ -615,10 +666,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur le rayon
+ /// Filtre sur le rayon.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void cbxDvdRayons_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxDvdRayons.SelectedIndex >= 0)
@@ -634,11 +685,11 @@ namespace MediaTekDocuments.view
}
///
- /// Sur la sélection d'une ligne ou cellule dans le grid
- /// affichage des informations du dvd
+ /// Sur la sélection d'une ligne ou cellule dans le grid,
+ /// affichage des informations du dvd.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void dgvDvdListe_SelectionChanged(object sender, EventArgs e)
{
if (dgvDvdListe.CurrentCell != null)
@@ -660,30 +711,30 @@ namespace MediaTekDocuments.view
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des Dvd
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des Dvd.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnDvdAnnulPublics_Click(object sender, EventArgs e)
{
RemplirDvdListeComplete();
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des Dvd
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des Dvd.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnDvdAnnulRayons_Click(object sender, EventArgs e)
{
RemplirDvdListeComplete();
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des Dvd
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des Dvd.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnDvdAnnulGenres_Click(object sender, EventArgs e)
{
RemplirDvdListeComplete();
@@ -750,15 +801,22 @@ namespace MediaTekDocuments.view
#endregion
#region Onglet Revues
+ ///
+ /// BindingSource lié à la liste des revues.
+ ///
private readonly BindingSource bdgRevuesListe = new BindingSource();
+
+ ///
+ /// Liste locale des revues pour l'affichage et les filtres.
+ ///
private List lesRevues = new List();
///
/// Ouverture de l'onglet Revues :
/// appel des méthodes pour remplir le datagrid des revues et des combos (genre, rayon, public)
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void tabRevues_Enter(object sender, EventArgs e)
{
lesRevues = controller.GetAllRevues();
@@ -771,7 +829,7 @@ namespace MediaTekDocuments.view
///
/// Remplit le dategrid avec la liste reçue en paramètre
///
- ///
+ /// liste de revues
private void RemplirRevuesListe(List revues)
{
bdgRevuesListe.DataSource = revues;
@@ -789,8 +847,8 @@ namespace MediaTekDocuments.view
/// Recherche et affichage de la revue dont on a saisi le numéro.
/// Si non trouvé, affichage d'un MessageBox.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnRevuesNumRecherche_Click(object sender, EventArgs e)
{
if (!txbRevuesNumRecherche.Text.Equals(""))
@@ -818,12 +876,12 @@ namespace MediaTekDocuments.view
}
///
- /// Recherche et affichage des revues dont le titre matche acec la saisie.
+ /// Recherche et affichage des revues dont le titre matche avec la saisie.
/// Cette procédure est exécutée à chaque ajout ou suppression de caractère
/// dans le textBox de saisie.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void txbRevuesTitreRecherche_TextChanged(object sender, EventArgs e)
{
if (!txbRevuesTitreRecherche.Text.Equals(""))
@@ -848,7 +906,7 @@ namespace MediaTekDocuments.view
}
///
- /// Affichage des informations de la revue sélectionné
+ /// Affichage des informations de la revue sélectionnée
///
/// la revue
private void AfficheRevuesInfos(Revue revue)
@@ -873,7 +931,7 @@ namespace MediaTekDocuments.view
}
///
- /// Vide les zones d'affichage des informations de la reuve
+ /// Vide les zones d'affichage des informations de la revue
///
private void VideRevuesInfos()
{
@@ -889,10 +947,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur le genre
+ /// Filtre sur le genre.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void cbxRevuesGenres_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxRevuesGenres.SelectedIndex >= 0)
@@ -908,10 +966,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur la catégorie de public
+ /// Filtre sur la catégorie de public.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void cbxRevuesPublics_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxRevuesPublics.SelectedIndex >= 0)
@@ -927,10 +985,10 @@ namespace MediaTekDocuments.view
}
///
- /// Filtre sur le rayon
+ /// Filtre sur le rayon.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void cbxRevuesRayons_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbxRevuesRayons.SelectedIndex >= 0)
@@ -946,11 +1004,11 @@ namespace MediaTekDocuments.view
}
///
- /// Sur la sélection d'une ligne ou cellule dans le grid
- /// affichage des informations de la revue
+ /// Sur la sélection d'une ligne ou cellule dans le grid,
+ /// affichage des informations de la revue.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void dgvRevuesListe_SelectionChanged(object sender, EventArgs e)
{
if (dgvRevuesListe.CurrentCell != null)
@@ -972,30 +1030,30 @@ namespace MediaTekDocuments.view
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des revues
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des revues.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnRevuesAnnulPublics_Click(object sender, EventArgs e)
{
RemplirRevuesListeComplete();
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des revues
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des revues.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnRevuesAnnulRayons_Click(object sender, EventArgs e)
{
RemplirRevuesListeComplete();
}
///
- /// Sur le clic du bouton d'annulation, affichage de la liste complète des revues
+ /// Sur le clic du bouton d'annulation, affichage de la liste complète des revues.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnRevuesAnnulGenres_Click(object sender, EventArgs e)
{
RemplirRevuesListeComplete();
@@ -1024,10 +1082,10 @@ namespace MediaTekDocuments.view
}
///
- /// Tri sur les colonnes
+ /// Tri sur les colonnes.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void dgvRevuesListe_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
VideRevuesZones();
@@ -1061,16 +1119,27 @@ namespace MediaTekDocuments.view
}
#endregion
- #region Onglet Paarutions
+ #region Onglet Parutions
+ ///
+ /// BindingSource lié à la liste des exemplaires.
+ ///
private readonly BindingSource bdgExemplairesListe = new BindingSource();
+
+ ///
+ /// Liste locale des exemplaires d'une revue.
+ ///
private List lesExemplaires = new List();
+
+ ///
+ /// Identifiant de l'état "neuf" d'un exemplaire.
+ ///
const string ETATNEUF = "00001";
///
- /// Ouverture de l'onglet : récupère le revues et vide tous les champs.
+ /// Ouverture de l'onglet : récupère les revues et vide tous les champs.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void tabReceptionRevue_Enter(object sender, EventArgs e)
{
lesRevues = controller.GetAllRevues();
@@ -1100,10 +1169,10 @@ namespace MediaTekDocuments.view
}
///
- /// Recherche d'un numéro de revue et affiche ses informations
+ /// Recherche d'un numéro de revue et affiche ses informations.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnReceptionRechercher_Click(object sender, EventArgs e)
{
if (!txbReceptionRevueNumero.Text.Equals(""))
@@ -1121,11 +1190,11 @@ namespace MediaTekDocuments.view
}
///
- /// Si le numéro de revue est modifié, la zone de l'exemplaire est vidée et inactive
- /// les informations de la revue son aussi effacées
+ /// Si le numéro de revue est modifié, la zone de l'exemplaire est vidée et inactive.
+ /// Les informations de la revue sont aussi effacées.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void txbReceptionRevueNumero_TextChanged(object sender, EventArgs e)
{
txbReceptionRevuePeriodicite.Text = "";
@@ -1141,9 +1210,9 @@ namespace MediaTekDocuments.view
}
///
- /// Affichage des informations de la revue sélectionnée et les exemplaires
+ /// Affichage des informations de la revue sélectionnée et ses exemplaires.
///
- /// la revue
+ /// La revue sélectionnée.
private void AfficheReceptionRevueInfos(Revue revue)
{
// informations sur la revue
@@ -1169,7 +1238,7 @@ namespace MediaTekDocuments.view
}
///
- /// Récupère et affiche les exemplaires d'une revue
+ /// Récupère et affiche les exemplaires d'une revue.
///
private void AfficheReceptionExemplairesRevue()
{
@@ -1181,9 +1250,9 @@ namespace MediaTekDocuments.view
///
/// Permet ou interdit l'accès à la gestion de la réception d'un exemplaire
- /// et vide les objets graphiques
+ /// et vide les objets graphiques.
///
- /// true ou false
+ /// True pour autoriser l'accès, False sinon.
private void AccesReceptionExemplaireGroupBox(bool acces)
{
grpReceptionExemplaire.Enabled = acces;
@@ -1194,10 +1263,10 @@ namespace MediaTekDocuments.view
}
///
- /// Recherche image sur disque (pour l'exemplaire à insérer)
+ /// Recherche image sur disque (pour l'exemplaire à insérer).
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnReceptionExemplaireImage_Click(object sender, EventArgs e)
{
string filePath = "";
@@ -1223,10 +1292,10 @@ namespace MediaTekDocuments.view
}
///
- /// Enregistrement du nouvel exemplaire
+ /// Enregistrement du nouvel exemplaire.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void btnReceptionExemplaireValider_Click(object sender, EventArgs e)
{
if (!txbReceptionExemplaireNumero.Text.Equals(""))
@@ -1262,10 +1331,10 @@ namespace MediaTekDocuments.view
}
///
- /// Tri sur une colonne
+ /// Tri sur une colonne du grid des exemplaires.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void dgvExemplairesListe_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
string titreColonne = dgvReceptionExemplairesListe.Columns[e.ColumnIndex].HeaderText;
@@ -1286,10 +1355,10 @@ namespace MediaTekDocuments.view
}
///
- /// affichage de l'image de l'exemplaire suite à la sélection d'un exemplaire dans la liste
+ /// Affichage de l'image de l'exemplaire suite à la sélection d'un exemplaire dans la liste.
///
- ///
- ///
+ /// La source de l'événement.
+ /// Les données de l'événement.
private void dgvReceptionExemplairesListe_SelectionChanged(object sender, EventArgs e)
{
if (dgvReceptionExemplairesListe.CurrentCell != null)
@@ -1312,6 +1381,11 @@ namespace MediaTekDocuments.view
}
#endregion
//Checkpoint
+ ///
+ /// Recherche et affiche le livre par son numéro.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnSearchLivres_Click(object sender, EventArgs e)
{
if (!txtBoxNumDoc.Text.Equals(""))
@@ -1334,6 +1408,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Tri sur les colonnes du second DataGridView des livres.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void dgvListeLivre2_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
VideLivresZones();
@@ -1366,6 +1445,11 @@ namespace MediaTekDocuments.view
RemplirLivresListe(sortedList);
}
+ ///
+ /// Affichage des informations du livre sélectionné et de ses commandes.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void dgvListeLivre2_SelectionChanged(object sender, EventArgs e)
{
if (dgvListeLivre2.CurrentCell != null)
@@ -1393,7 +1477,10 @@ namespace MediaTekDocuments.view
}
}
- // Checkpoint
+ ///
+ /// Remplit le DataGridView des commandes avec la liste reçue en paramètre.
+ ///
+ /// Liste des commandes de documents.
private void RemplirCommandesListe(List lesCommandes)
{
dgvCommandes.DataSource = null;
@@ -1412,6 +1499,10 @@ namespace MediaTekDocuments.view
ViderZonesSaisieCommande();
}
+ ///
+ /// Affiche les informations détaillées du livre dans la partie commande.
+ ///
+ /// Le livre sélectionné.
private void AfficheCommandeLivresInfos(Livre livre)
{
txbCommandeLivreTitre.Text = livre.Titre;
@@ -1425,6 +1516,9 @@ namespace MediaTekDocuments.view
txbLivresImage.Text = livre.Image;
}
+ ///
+ /// Vide les zones d'affichage des informations du livre pour les commandes.
+ ///
private void ViderZonesCommande()
{
txbCommandeLivreTitre.Text = "";
@@ -1435,7 +1529,11 @@ namespace MediaTekDocuments.view
}
- //Checkpoint
+ ///
+ /// Sur la sélection d'une commande, affiche ses informations dans les champs de saisie.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void dgvCommandes_SelectionChanged(object sender, EventArgs e)
{
if (dgvCommandes.CurrentRow?.DataBoundItem is CommandeDocument commande)
@@ -1464,6 +1562,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Déclenche la suppression de la commande sélectionnée.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnDeleteCommande_Click(object sender, EventArgs e)
{
if (dgvListeLivre2.CurrentCell != null && dgvCommandes.CurrentCell != null)
@@ -1475,6 +1578,10 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Procédure de suppression d'une commande de document (livre ou DVD).
+ ///
+ /// La commande à supprimer.
private void deleteCommande(CommandeDocument commande)
{
if (commande.LibelleSuivi == "Livrée" || commande.LibelleSuivi == "Réglée" || commande.LibelleSuivi == "Relancée")
@@ -1500,6 +1607,12 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Remplit le combo de suivi avec les étapes possibles.
+ ///
+ /// Liste des étapes de suivi.
+ /// BindingSource à utiliser.
+ /// ComboBox à remplir.
public void RemplirComboSuivi(List etapesSuivi, BindingSource bdg, ComboBox cbx)
{
bdg.DataSource = etapesSuivi;
@@ -1510,6 +1623,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Gère le clic sur le bouton d'ajout ou de modification d'une commande.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnCreateCommande_Click(object sender, EventArgs e)
{
DateTime dateCommande = dateTimeCommande.Value;
@@ -1533,6 +1651,15 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Crée une nouvelle commande dans la base de données.
+ ///
+ /// Date de la commande.
+ /// Montant de la commande.
+ /// Nombre d'exemplaires commandés.
+ /// Identifiant de l'étape de suivi initiale.
+ /// Identifiant de la commande.
+ /// Identifiant du livre ou DVD concerné.
private void createCommande(DateTime dateCommande, double montantCommande, int nbExemplaire, int suivi, string nextId, string idLivreDvd)
{
CommandeDocument commande = new CommandeDocument(nextId, dateCommande, montantCommande, nbExemplaire, idLivreDvd, suivi, "En cours");
@@ -1542,6 +1669,11 @@ namespace MediaTekDocuments.view
RemplirCommandesListe(lesCommandes);
}
+ ///
+ /// Modifie l'étape de suivi d'une commande existante.
+ ///
+ /// Index de la nouvelle étape de suivi.
+ /// La commande à modifier.
private void modifCommande(int nouveauSuiviIndex, CommandeDocument commande)
{
int indexEtatActuel = cboSuivi.FindStringExact(commande.LibelleSuivi);
@@ -1572,6 +1704,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Gère le clic de souris sur le DataGridView des commandes pour désélectionner si on clique dans le vide.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void dgvCommandes_MouseDown(object sender, MouseEventArgs e)
{
DataGridView.HitTestInfo hit = dgvCommandes.HitTest(e.X, e.Y);
@@ -1583,6 +1720,9 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Vide les zones de saisie d'une nouvelle commande.
+ ///
private void ViderZonesSaisieCommande()
{
updownMontant.Value = 0;
@@ -1596,6 +1736,11 @@ namespace MediaTekDocuments.view
updownNbExemplaire.Enabled = true;
}
+ ///
+ /// Ouverture de l'onglet commande DVD.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void tabCommandeDvd_Enter(object sender, EventArgs e)
{
if (lesDvd.Count == 0)
@@ -1606,6 +1751,11 @@ namespace MediaTekDocuments.view
RemplirDvdListeComplete();
}
+ ///
+ /// Sur la sélection d'un DVD, affiche ses informations et ses commandes.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void dgvDvd_SelectionChanged(object sender, EventArgs e)
{
if (dgvDvd.CurrentCell != null)
@@ -1631,6 +1781,10 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Affiche les informations détaillées du DVD sélectionné dans la partie commande.
+ ///
+ /// Le DVD sélectionné.
private void afficheDvdInfos(Dvd dvd)
{
txtNbDocDvd.Text = dvd.Id;
@@ -1643,6 +1797,10 @@ namespace MediaTekDocuments.view
txtCheminImgDvd.Text = dvd.Image;
txtDureeDvd.Text = dvd.Duree.ToString();
}
+ ///
+ /// Remplit le DataGridView des commandes de DVD avec la liste reçue en paramètre.
+ ///
+ /// Liste des commandes de DVD.
private void RemplirCommandesDvdListe(List lesCommandes)
{
dgvCommandesDvd.DataSource = null;
@@ -1657,6 +1815,11 @@ namespace MediaTekDocuments.view
dgvCommandesDvd.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
}
+ ///
+ /// Gère le clic sur le bouton d'ajout ou de modification d'une commande de DVD.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnCreateCommandeDvd_Click(object sender, EventArgs e)
{
btnDeleteCommandeDvd.Enabled = false;
@@ -1693,6 +1856,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Gère le clic de souris sur le DataGridView des commandes DVD pour désélectionner si on clique dans le vide.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void dgvCommandesDvd_MouseDown(object sender, MouseEventArgs e)
{
DataGridView.HitTestInfo hit = dgvCommandesDvd.HitTest(e.X, e.Y);
@@ -1705,6 +1873,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Sur la sélection d'une commande de DVD, affiche ses informations dans les champs de saisie.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void dgvCommandesDvd_SelectionChanged(object sender, EventArgs e)
{
if (dgvCommandesDvd.CurrentRow != null)
@@ -1727,6 +1900,9 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Vide les zones de saisie d'une nouvelle commande de DVD.
+ ///
private void ViderZonesSaisieCommandeDvd()
{
dateTimeCommandeDvd.Value = DateTime.Now;
@@ -1741,6 +1917,11 @@ namespace MediaTekDocuments.view
groupBox2.Text = "Nouvelle commande";
}
+ ///
+ /// Recherche un DVD par son numéro et affiche ses informations et commandes.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnRechercheDvd_Click(object sender, EventArgs e)
{
if (!txtRechercheDvd.Text.Equals(""))
@@ -1769,6 +1950,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Déclenche la suppression de la commande de DVD sélectionnée.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnDeleteCommandeDvd_Click(object sender, EventArgs e)
{
if (dgvCommandesDvd.CurrentCell != null)
@@ -1780,6 +1966,10 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Procédure de suppression d'une commande de DVD.
+ ///
+ /// La commande à supprimer.
private void deleteCommandeDvd(CommandeDocument commande)
{
if (commande.LibelleSuivi == "Livrée" || commande.LibelleSuivi == "Réglée" || commande.LibelleSuivi == "Relancée")
@@ -1814,6 +2004,9 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Vérifie les abonnements expirant sous 30 jours et affiche une alerte.
+ ///
private void AlerteAbonnementsExpirants()
{
List toutesLesRevues = controller.GetAllRevues();
@@ -1838,17 +2031,34 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Vérifie si un abonnement peut être supprimé (aucun exemplaire reçu pendant la période).
+ ///
+ /// L'abonnement à vérifier.
+ /// True si l'abonnement peut être supprimé, False sinon.
private bool PeutSupprimerAbonnement(Abonnement abonnement)
{
List exemplaires = controller.GetExemplairesRevue(abonnement.IdRevue);
return !exemplaires.Exists(ex => ParutionDansAbonnement(abonnement.DateCommande,abonnement.DateFinAbonnement, ex.DateAchat));
}
+ ///
+ /// Vérifie si une date de parution se situe dans une période d'abonnement.
+ ///
+ /// Date de début de l'abonnement.
+ /// Date de fin de l'abonnement.
+ /// Date de parution à vérifier.
+ /// True si la parution est dans l'abonnement, False sinon.
public bool ParutionDansAbonnement(DateTime dateCommande, DateTime dateFinAbonnement, DateTime dateParution)
{
return (dateParution >= dateCommande && dateParution <= dateFinAbonnement);
}
+ ///
+ /// Recherche une revue pour la gestion des abonnements par son numéro.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnRevuesCommandesRechercher_Click(object sender, EventArgs e)
{
if (!txbRevuesCommandesNumRecherche.Text.Equals(""))
@@ -1865,6 +2075,10 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Affiche les informations de la revue sélectionnée pour la gestion des abonnements.
+ ///
+ /// La revue sélectionnée.
private void AfficheRevueInfosCommande(Revue revue)
{
txbRevuesCommandesTitre.Text = revue.Titre;
@@ -1880,6 +2094,10 @@ namespace MediaTekDocuments.view
grpAbonnementSaisie.Enabled = true;
}
+ ///
+ /// Remplit le DataGridView des abonnements avec la liste reçue en paramètre.
+ ///
+ /// Liste des abonnements.
private void RemplirAbonnementsListe(List abonnements)
{
bdgAbonnements.DataSource = abonnements;
@@ -1889,6 +2107,11 @@ namespace MediaTekDocuments.view
dgvAbonnements.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
+ ///
+ /// Ouverture de l'onglet gestion des abonnements revues.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void tabCommandeRevues_Enter(object sender, EventArgs e)
{
// On charge la liste des revues pour permettre la recherche par numéro
@@ -1897,6 +2120,9 @@ namespace MediaTekDocuments.view
ViderAbonnementChamps();
}
+ ///
+ /// Vide tous les champs liés à la gestion des abonnements.
+ ///
private void ViderAbonnementChamps()
{
txbRevuesCommandesNumRecherche.Text = "";
@@ -1909,6 +2135,11 @@ namespace MediaTekDocuments.view
grpAbonnementSaisie.Enabled = false;
}
+ ///
+ /// Gère le clic sur le bouton d'ajout d'un nouvel abonnement.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnAbonnementAjouter_Click(object sender, EventArgs e)
{
string idRevue = txbRevuesCommandesNumRecherche.Text;
@@ -1939,6 +2170,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Gère le clic sur le bouton de suppression d'un abonnement.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void btnAbonnementSupprimer_Click(object sender, EventArgs e)
{
if (dgvAbonnements.CurrentRow == null)
@@ -1969,6 +2205,11 @@ namespace MediaTekDocuments.view
}
}
+ ///
+ /// Gère le tri sur les colonnes du DataGridView des abonnements.
+ ///
+ /// Source de l'événement.
+ /// Informations sur l'événement.
private void dgvAbonnements_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
string titreColonne = dgvAbonnements.Columns[e.ColumnIndex].DataPropertyName;