コード例 #1
0
ファイル: bdd.cs プロジェクト: LeoEspeu/EntityFrameworkM2L
 /// <summary>
 /// Procédure pour détruire l'objet courant Entity Framework.
 /// </summary>
 public void FermerConnexion()
 {
     M2LContexte.Dispose();
 }
コード例 #2
0
ファイル: bdd.cs プロジェクト: LeoEspeu/EntityFrameworkM2L
        /// <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);
                }
            }
        }