/// <summary> /// Procédure pour détruire l'objet courant Entity Framework. /// </summary> public void FermerConnexion() { M2LContexte.Dispose(); }
/// <summary> /// Procédure pour inscrire un licencié avec repas et/ou nuits d'hôtel. /// </summary> /// <param name="pNom">Nom du participant</param> /// <param name="pPrenom">Prénom du participant</param> /// <param name="pAdresse1">Adresse1 du participant</param> /// <param name="pAdresse2">Adresse2 du participant</param> /// <param name="pCp">CP du participant</param> /// <param name="pVille">Ville du participant</param> /// <param name="pTel">Téléphone du participant</param> /// <param name="pMail">Mail du participant</param> /// <param name="pLicence">Numéro de licence du licencié</param> /// <param name="pQualité">Qualité du licencié</param> /// <param name="pLesAteliers">Liste d'ateliers ou est inscrit le licencié</param> /// <param name="pNumCheque">Numéro du chèque</param> /// <param name="pMontantChèque">Montant du chèque</param> /// <param name="pTypePayement">Type de paiement du licencié (tout ou en 2 chèques)</param> /// <param name="pListeRepas">Liste des repas pour l'accompagnant du licencié</param> /// <param name="pLesCategories">Tableau contenant la catégorie de chambre pour chaque nuité à réserver</param> /// <param name="pLesHotels">Tableau contenant l'hôtel pour chaque nuité à réserver</param> /// <param name="pLesNuits">Tableau contenant l'ID de la date d'arrivée pour chaque nuité à réserver</param> /// <param name="pNumCheque2">Numéro de chèque 2</param> /// <param name="pMontantChèque2">Montant de chèque 2</param> public void InscrireLicencie(string pNom, string pPrenom, string pAdresse1, string pAdresse2, string pCp, string pVille, string pTel, string pMail, long?pLicence, short pQualité, Collection <short> pLesAteliers, short pNumCheque, decimal pMontantChèque, string pTypePayement, Collection <short> pListeRepas, Collection <string> pLesCategories, Collection <string> pLesHotels, Collection <short> pLesNuits, short pNumCheque2 = 0, decimal pMontantChèque2 = 0) { string messageErreur = String.Empty; try { short idPaye = Convert.ToInt16(this.NewIdPaiement()); short id = this.NewId(); M2LEntitie m2L = new M2LEntitie(); PARTICIPANT unNouveauParticipant = new PARTICIPANT(); unNouveauParticipant.NOMPARTICIPANT = pNom; unNouveauParticipant.PRENOMPARTICIPANT = pPrenom; unNouveauParticipant.ADRESSEPARTICIPANT1 = pAdresse1; unNouveauParticipant.ADRESSEPARTICIPANT2 = pAdresse2; unNouveauParticipant.CPPARTICIPANT = pCp; unNouveauParticipant.VILLEPARTICIPANT = pVille; unNouveauParticipant.TELPARTICIPANT = pTel; unNouveauParticipant.MAILPARTICIPANT = pMail; unNouveauParticipant.DATEINSCRIPTION = DateTime.Now; unNouveauParticipant.ID = id; LICENCIE unLicencie = new LICENCIE(); unLicencie.IDQUALITE = Convert.ToByte(pQualité); unLicencie.NUMEROLICENCE = Convert.ToInt64(pLicence); unLicencie.IDLICENCIE = id; foreach (short unAtelier in pLesAteliers) { INSCRIRE uneInscription = new INSCRIRE(); uneInscription.IDPARTICIPANT = id; uneInscription.IDATELIER = unAtelier; unLicencie.INSCRIREs.Add(uneInscription); } foreach (short unRepas in pListeRepas) { var uneRestauration = m2L.RESTAURATIONs.Find(unRepas); unLicencie.RESTAURATIONs.Add(uneRestauration); } short ordre = 1; for (int i = 0; i < pLesCategories.Count; i++) { CONTENUHEBERGEMENT hebergement = new CONTENUHEBERGEMENT(); hebergement.IDPARTICIPANT = id; hebergement.NUMORDRE = ordre; hebergement.IDCATEGORIE = pLesCategories[i]; hebergement.IDDATEARRIVEENUITEE = Convert.ToByte(pLesNuits[i]); hebergement.CODEHOTEL = pLesHotels[i]; unNouveauParticipant.CONTENUHEBERGEMENTs.Add(hebergement); ordre++; } if (pTypePayement == "Tout") { PAIEMENT unPaiement = new PAIEMENT(); unPaiement.ID = idPaye; unPaiement.IDLICENCIE = id; unPaiement.MONTANTCHEQUE = pMontantChèque; unPaiement.NUMEROCHEQUE = pNumCheque; unPaiement.TYPEPAIEMENT = "Tout"; unLicencie.PAIEMENTs.Add(unPaiement); } else { PAIEMENT unPaiement = new PAIEMENT(); unPaiement.ID = idPaye; unPaiement.IDLICENCIE = id; unPaiement.MONTANTCHEQUE = pMontantChèque; unPaiement.NUMEROCHEQUE = pNumCheque; unPaiement.TYPEPAIEMENT = "Insc"; idPaye++; PAIEMENT unAutrePaiement = new PAIEMENT(); unAutrePaiement.ID = idPaye; unAutrePaiement.IDLICENCIE = id; unAutrePaiement.MONTANTCHEQUE = pMontantChèque2; unAutrePaiement.NUMEROCHEQUE = pNumCheque2; unAutrePaiement.TYPEPAIEMENT = "Acco"; unLicencie.PAIEMENTs.Add(unPaiement); unLicencie.PAIEMENTs.Add(unAutrePaiement); } unNouveauParticipant.LICENCIE = unLicencie; m2L.PARTICIPANTs.Add(unNouveauParticipant); m2L.SaveChanges(); m2L.Dispose(); } catch (Exception ex) { messageErreur = ex.Message; } finally { if (messageErreur.Length > 0) { //// Déclenchement de l'exception. throw new Exception(messageErreur); } } }