示例#1
0
        public static Int32?AddAllReservations(Int32?_EleveId = null, Int32?_EvenementId = null, String _PaymentId = null)
        {
            DBModelsParameters _DB = new WS.Models.DBModelsParameters();

            //récupération de l'évènement
            Evenement _Evenement = EvenementsManager.GetEvenements(_Id: _EvenementId)[0];

            //récupération du planning pour créer toutes les réservations
            List <PlanningOnly> _Plannings = EvenementsManager.GetPlanningsOnly(_EvenementId: _EvenementId);

            List <Reservation> _AllReservations = new List <Reservation>();

            foreach (PlanningOnly _Current in _Plannings)
            {
                Reservation _NewReservation = new Reservation();
                _NewReservation.Eleve        = new Eleve();
                _NewReservation.Eleve.Id     = _EleveId;
                _NewReservation.Evenement    = new Evenement();
                _NewReservation.Evenement.Id = _EvenementId;
                _NewReservation.PaymentId    = _PaymentId;
                _NewReservation.Jour         = _Current.Jour;
                _NewReservation.Creneau      = _Current.Creneau;
                _AllReservations.Add(_NewReservation);
            }

            return(AddReservations(_AllReservations));

            //return _DB.AddAllReservations(
            //                                eleveId: _EleveId,
            //                                evenementId:_EvenementId,
            //                                paymentId: (String.IsNullOrEmpty(_PaymentId) ? null : _PaymentId)
            //                             );
        }
示例#2
0
        public static Int32?AddReservations(List <Reservation> _Reservations)
        {
            Int32?_ReturnValue = null;

            if ((_Reservations != null) && (_Reservations.Count > 0))
            {
                //récupération de l'évènement
                Evenement _Evenement = EvenementsManager.GetEvenements(_Id: _Reservations[0].Evenement.Id)[0];

                //récupération de l'élève
                Eleve _Eleve = ElevesManager.GetEleves(_Id: _Reservations[0].Eleve.Id)[0];

                //insertion des réservations en base
                List <ICalendar> _Invitations = new List <ICalendar>();
                foreach (Reservation _Current in _Reservations)
                {
                    _ReturnValue = ElevesManager.AddReservation(
                        _EleveId: _Current.Eleve.Id,
                        _EvenementId: _Current.Evenement.Id,
                        _Jour: _Current.Jour,
                        _Creneau: _Current.Creneau,
                        _PaymentId: (String.IsNullOrEmpty(_Current.PaymentId) ? null : _Current.PaymentId)
                        );
                }

                //envoi du mail de confirmation
                #region "Mail"
                String _EmailReservation = String.Empty;
                _EmailReservation += "<html>";
                _EmailReservation += "<body>";
                _EmailReservation += "<img src=\"http://www.cavalier-roi.fr/Content/Images/LogoMail.jpg\" />";
                _EmailReservation += "<br /><hr /><br />";

                if (_Evenement.Typologie.Id == 3) //cours
                {
                    if (String.IsNullOrEmpty(_Reservations[0].PaymentId))
                    {
                        _EmailReservation += "Votre inscription à cette formule de cours a bien été prise en compte et vos réservations ont bien été enregistrées !";
                    }
                    else if (_Reservations[0].PaymentId == "KO")
                    {
                        _EmailReservation += "Votre inscription à cette formule de cours a bien été prise en compte, vos réservations ont bien été enregistrées mais votre paiement a rencontré un problème !";
                    }
                    else if (_Reservations[0].PaymentId == "MON COMPTE")
                    {
                        _EmailReservation += "Vos réservations ont bien été enregistrées !";
                    }
                    else
                    {
                        _EmailReservation += "Votre inscription à cette formule de cours a bien été prise en compte, vos réservations ont bien été enregistrées et votre paiement a bien été effectué !";
                    }
                }
                else if (_Evenement.Typologie.Id == 1) //tournois
                {
                    if (String.IsNullOrEmpty(_Reservations[0].PaymentId))
                    {
                        _EmailReservation += "Votre participation à cet évènement a bien été prise en compte !";
                    }
                    else if (_Reservations[0].PaymentId == "KO")
                    {
                        _EmailReservation += "Votre participation à cet évènement a bien été prise en compte mais votre paiement a rencontré un problème !";
                    }
                    else
                    {
                        _EmailReservation += "Votre participation à cet évènement a bien été prise en compte et votre paiement a bien été effectué !";
                    }
                }
                else if (_Evenement.Typologie.Id == 0)                                                      //stages
                {
                    if ((_Evenement.Prix == null) || ((_Evenement.Prix != null) && (_Evenement.Prix == 0))) //stage gratuit : formule complete
                    {
                        if (_Evenement.EvenementParent == null)                                             //stage "parent" : formule complete
                        {
                            _EmailReservation += "Votre inscription à cette formule de stage gratuite a bien été prise en compte !";
                        }
                        else //stage "enfant" : formule partielle (avec choix de réservations)
                        {
                            _EmailReservation += "Votre inscription à cette formule de stage gratuite a bien été prise en compte et vos réservations ont bien été enregistrées !";
                        }
                    }
                    else
                    {
                        if (_Evenement.EvenementParent == null) //stage "parent" : formule complete
                        {
                            if (String.IsNullOrEmpty(_Reservations[0].PaymentId))
                            {
                                _EmailReservation += "Votre inscription à cette formule de stage a bien été prise en compte !";
                            }
                            else if (_Reservations[0].PaymentId == "KO")
                            {
                                _EmailReservation += "Votre inscription à cette formule de stage a bien été prise en compte mais votre paiement a rencontré un problème !";
                            }
                            else
                            {
                                _EmailReservation += "Votre inscription à cette formule de stage a bien été prise en compte et votre paiement a bien été effectué !";
                            }
                        }
                        else //stage "enfant" : formule partielle (avec choix de réservations)
                        {
                            if (String.IsNullOrEmpty(_Reservations[0].PaymentId))
                            {
                                _EmailReservation += "Votre inscription à cette formule de stage a bien été prise en compte et vos réservations ont bien été enregistrées !";
                            }
                            else if (_Reservations[0].PaymentId == "KO")
                            {
                                _EmailReservation += "Votre inscription à cette formule de stage a bien été prise en compte, vos réservations ont bien été enregistrées mais votre paiement a rencontré un problème !";
                            }
                            else
                            {
                                _EmailReservation += "Votre inscription à cette formule de stage a bien été prise en compte, vos réservations ont bien été enregistrées et votre paiement a bien été effectué !";
                            }
                        }
                    }
                }
                _EmailReservation += "<br /><br />";
                _EmailReservation += _Evenement.Libelle;
                _EmailReservation += "<br />";
                _EmailReservation += "<table cellpadding=\"2\" cellspacing=\"2\" border=\"1\">";
                _EmailReservation += "<tr>";
                _EmailReservation += "     <th>Jour</th>";
                _EmailReservation += "     <th>Heure de début</th>";
                _EmailReservation += "     <th>Heure de fin</th>";

                if (_Evenement.Typologie.Id == 3) //cours
                {
                    foreach (Reservation _Current in _Reservations)
                    {
                        String _HeureDebut = _Current.Creneau.Replace("Creneau", "").Left(2) + ":00:00";
                        String _HeureFin   = _Current.Creneau.Replace("Creneau", "").Right(2) + ":00:00";

                        //création du ICS à envoyer
                        ICalendar _NewICalendar = new ICalendar
                        {
                            EventStartDateTime = Convert.ToDateTime(_Current.Jour + " " + _HeureDebut),
                            EventEndDateTime   = Convert.ToDateTime(_Current.Jour + " " + _HeureFin),
                            UID              = Guid.NewGuid().ToString(),
                            EventOrganizer   = WS.Constants.COMMANDES_SENDER,
                            EventPriority    = "0",
                            EventSummary     = _Evenement.Libelle,
                            EventDescription = _Evenement.Descriptif
                        };
                        _Invitations.Add(_NewICalendar);

                        //création de la ligne du tableau
                        _EmailReservation += "<tr>";
                        _EmailReservation += "     <td>" + _Current.Jour + "</td>";
                        _EmailReservation += "     <td>" + _HeureDebut + "</td>";
                        _EmailReservation += "     <td>" + _HeureFin + "</td>";
                        _EmailReservation += "</tr>";
                    }
                }
                else if (_Evenement.Typologie.Id == 1) //tournois
                {
                    String _Jour = String.Empty;
                    foreach (Reservation _Current in _Reservations)
                    {
                        if (_Jour != _Current.Jour)
                        {
                            _Jour = _Current.Jour;
                            String _HeureDebut = (_Reservations.FindAll(p => p.Jour == _Jour).OrderBy(p => p.Creneau).FirstOrDefault().Creneau.Replace("Creneau", "").Left(2) + ":00:00");
                            String _HeureFin   = (_Reservations.FindAll(p => p.Jour == _Jour).OrderByDescending(p => p.Creneau).FirstOrDefault().Creneau.Replace("Creneau", "").Right(2) + ":00:00");

                            //création du ICS à envoyer
                            ICalendar _NewICalendar = new ICalendar
                            {
                                EventStartDateTime = Convert.ToDateTime(_Current.Jour + " " + _HeureDebut),
                                EventEndDateTime   = Convert.ToDateTime(_Current.Jour + " " + _HeureFin),
                                UID              = Guid.NewGuid().ToString(),
                                EventOrganizer   = WS.Constants.COMMANDES_SENDER,
                                EventPriority    = "0",
                                EventSummary     = _Evenement.Libelle,
                                EventDescription = _Evenement.Descriptif
                            };
                            _Invitations.Add(_NewICalendar);

                            //création de la ligne du tableau
                            _EmailReservation += "<tr>";
                            _EmailReservation += "     <td>" + _Jour + "</td>";
                            _EmailReservation += "     <td>" + _HeureDebut + "</td>";
                            _EmailReservation += "     <td>" + _HeureFin + "</td>";
                            _EmailReservation += "</tr>";
                        }
                    }
                }
                else if (_Evenement.Typologie.Id == 0) //stages
                {
                    String _Jour = String.Empty;
                    foreach (Reservation _Current in _Reservations)
                    {
                        if (_Jour != _Current.Jour)
                        {
                            _Jour = _Current.Jour;
                            String _HeureDebut = (_Reservations.FindAll(p => p.Jour == _Jour).OrderBy(p => p.Creneau).FirstOrDefault().Creneau.Replace("Creneau", "").Left(2) + ":00:00");
                            String _HeureFin   = (_Reservations.FindAll(p => p.Jour == _Jour).OrderByDescending(p => p.Creneau).FirstOrDefault().Creneau.Replace("Creneau", "").Right(2) + ":00:00");

                            //création du ICS à envoyer
                            ICalendar _NewICalendar = new ICalendar
                            {
                                EventStartDateTime = Convert.ToDateTime(_Current.Jour + " " + _HeureDebut),
                                EventEndDateTime   = Convert.ToDateTime(_Current.Jour + " " + _HeureFin),
                                UID              = Guid.NewGuid().ToString(),
                                EventOrganizer   = WS.Constants.COMMANDES_SENDER,
                                EventPriority    = "0",
                                EventSummary     = _Evenement.Libelle,
                                EventDescription = _Evenement.Descriptif
                            };
                            _Invitations.Add(_NewICalendar);

                            //création de la ligne du tableau
                            _EmailReservation += "<tr>";
                            _EmailReservation += "     <td>" + _Jour + "</td>";
                            _EmailReservation += "     <td>" + _HeureDebut + "</td>";
                            _EmailReservation += "     <td>" + _HeureFin + "</td>";
                            _EmailReservation += "</tr>";
                        }
                    }
                }
                _EmailReservation += "</table>";
                _EmailReservation += "<br /><br />";
                _EmailReservation += "Les invitations pour ces dates sont disponibles en pièces jointes (fichiers ICS).";
                _EmailReservation += "<br /><br />";

                if (_Evenement.Typologie.Id == 3) //cours
                {
                    _EmailReservation += "Vous pouvez retrouver toutes vos inscriptions/réservations dans la partie \"Mon Compte\" du site de l'École du Cavalier Roi : <a href=\"" + WS.Constants.SITE_URL + "/MonCompte\" target=\"_blank\">" + WS.Constants.SITE_URL + "/MonCompte</a>.";
                }
                else if (_Evenement.Typologie.Id == 1) //tournois
                {
                    _EmailReservation += "Vous pouvez retrouver toutes vos participations dans la partie \"Mon Compte\" du site de l'École du Cavalier Roi : <a href=\"" + WS.Constants.SITE_URL + "/MonCompte\" target=\"_blank\">" + WS.Constants.SITE_URL + "/MonCompte</a>.";
                }
                else if (_Evenement.Typologie.Id == 0) //stages
                {
                    //stage "parent" : formule complete
                    if (_Evenement.EvenementParent == null)
                    {
                        _EmailReservation += "Vous pouvez retrouver toutes vos inscriptions dans la partie \"Mon Compte\" du site de l'École du Cavalier Roi : <a href=\"" + WS.Constants.SITE_URL + "/MonCompte\" target=\"_blank\">" + WS.Constants.SITE_URL + "/MonCompte</a>.";
                    }
                    //stage "enfant" : formule partielle (avec choix de réservations)
                    else
                    {
                        _EmailReservation += "Vous pouvez retrouver toutes vos inscriptions/réservations dans la partie \"Mon Compte\" du site de l'École du Cavalier Roi : <a href=\"" + WS.Constants.SITE_URL + "/MonCompte\" target=\"_blank\">" + WS.Constants.SITE_URL + "/MonCompte</a>.";
                    }
                }

                _EmailReservation += "<br /><br />";
                if ((!String.IsNullOrEmpty(_Reservations[0].PaymentId)) && (_Reservations[0].PaymentId != "KO")) //"PAYPAL PAYMENTID" OU "MON COMPTE"
                {
                    _EmailReservation += "Pour plus d'informations, n'hésitez pas à contacter l'École du Cavalier Roi à <a href=\"mailto:" + WS.Constants.COMMANDES_EMAIL + "\" target=\"_blank\">" + WS.Constants.COMMANDES_EMAIL + "</a>.";
                }
                else
                {
                    _EmailReservation += "Merci de contacter au plus vite l'École du Cavalier Roi à <a href=\"mailto:" + WS.Constants.COMMANDES_EMAIL + "\" target=\"_blank\">" + WS.Constants.COMMANDES_EMAIL + "</a> pour régler le paiement.";
                }
                _EmailReservation += "<br /><br />";
                _EmailReservation += "L'École du Cavalier Roi";
                _EmailReservation += "<br /><br />";
                _EmailReservation += "</body>";
                _EmailReservation += "</html>";

                String _EmailSubject = String.Empty;
                if (_Evenement.Typologie.Id == 3) //cours
                {
                    if (_Reservations[0].PaymentId == "MON COMPTE")
                    {
                        _EmailSubject += "Confirmation de réservations";
                    }
                    else
                    {
                        _EmailSubject += "Confirmation d'inscription/réservations";
                    }
                }
                else if (_Evenement.Typologie.Id == 1) //tournois
                {
                    _EmailSubject = "Confirmation de participation";
                }
                else if (_Evenement.Typologie.Id == 0) //stages
                {
                    //stage "parent" : formule complete
                    if (_Evenement.EvenementParent == null)
                    {
                        _EmailSubject = "Confirmation d'inscription";
                    }
                    //stage "enfant" : formule partielle (avec choix de réservations)
                    else
                    {
                        _EmailSubject = "Confirmation d'inscription/réservations";
                    }
                }
                ICSManager.SendMail(WS.Constants.COMMANDES_EMAIL, WS.Constants.COMMANDES_SENDER, _Eleve.Email, WS.Constants.COMMANDES_CC, WS.Constants.COMMANDES_CCI, _EmailSubject, _EmailReservation, true, _Invitations, null, WS.Constants.MAILSERVER_HOST, WS.Constants.MAILSERVER_PORT, WS.Constants.COMMANDES_USERNAME, WS.Constants.COMMANDES_PASSWORD, 100000, false);
                #endregion
            }

            return(_ReturnValue);
        }