Пример #1
0
        public static Int32 UpdCommande(Int32?_Id = null, Int32?_StatutId = null, String _StatutLibelle = null, String _ReferenceTransaction = null, String _ReferenceExterne = null, Int32?_EleveId = null, String _TrackingNumber = null)
        {
            DBModelsParameters _DB = new WS.Models.DBModelsParameters();

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

            //envoi du mail de confirmation
            #region "Mail"
            String _EmailModification = String.Empty;
            _EmailModification += "<html>";
            _EmailModification += "<body>";
            _EmailModification += "<img src=\"http://www.cavalier-roi.fr/Content/Images/LogoMail.jpg\" />";
            _EmailModification += "<br /><hr /><br />";
            _EmailModification += "Votre commande #" + _Id.ToString() + " vient de passer au statut : " + _StatutLibelle;
            if ((_StatutId == 6) && (!String.IsNullOrEmpty(_TrackingNumber)))
            {
                _EmailModification += "<br /><br />";
                _EmailModification += "Le numéro de suivi du colis est : " + _TrackingNumber;
            }
            _EmailModification += "<br /><br />";
            _EmailModification += "Vous pouvez retrouver toutes vos commandes 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>.";
            _EmailModification += "<br /><br />";
            _EmailModification += "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>.";
            _EmailModification += "<br /><br />";
            _EmailModification += "L'École du Cavalier Roi";
            _EmailModification += "<br /><br />";
            _EmailModification += "</body>";
            _EmailModification += "</html>";
            ICSManager.SendMail(WS.Constants.COMMANDES_EMAIL, WS.Constants.COMMANDES_SENDER, _Eleve.Email, WS.Constants.COMMANDES_CC, WS.Constants.COMMANDES_CCI, "Modification de statut de commande", _EmailModification, true, null, null, WS.Constants.MAILSERVER_HOST, WS.Constants.MAILSERVER_PORT, WS.Constants.COMMANDES_USERNAME, WS.Constants.COMMANDES_PASSWORD, 100000, false);
            #endregion

            return(_DB.UpdCommande(
                       id: (_Id == null ? -1 : _Id),
                       statutId: (_StatutId == null ? -1 : _StatutId),
                       referenceTransaction: (String.IsNullOrEmpty(_ReferenceTransaction) ? null : _ReferenceTransaction.Trim()),
                       referenceExterne: (String.IsNullOrEmpty(_ReferenceExterne) ? null : _ReferenceExterne.Trim()),
                       trackingNumber: (String.IsNullOrEmpty(_TrackingNumber) ? null : _TrackingNumber.Trim())
                       ));
        }
Пример #2
0
        public static Int32?AddCommande(DateTime?_DtCreation = null, DateTime?_DtValidation = null, Int32?_StatutId = null, Int32?_EleveId = null, Double?_Prix = null, Int32?_FraiId = null, String _ReferenceTransaction = null, String _ReferenceExterne = null, Adresse _Adresse = null, List <Ligne> _Lignes = null)
        {
            DBModelsParameters _DB = new WS.Models.DBModelsParameters();

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

            //ajout de l'adresse
            Int32?_NewAdresseId = _DB.AddAdresse(
                destinataire: _Adresse.Destinataire.Trim(),
                ligne1: _Adresse.Ligne1.Trim(),
                ligne2: (String.IsNullOrEmpty(_Adresse.Ligne2) ? null : _Adresse.Ligne2.Trim()),
                codePostal: _Adresse.CodePostal.Trim(),
                ville: _Adresse.Ville.Trim(),
                pays: _Adresse.Pays.Trim(),
                telephone: _Adresse.Telephone.Trim(),
                email: _Adresse.Email.Trim()
                ).FirstOrDefault().Value;

            //ajout de la commande
            Int32?_NewCommandeId = _DB.AddCommande(
                dtCreation: _DtCreation,
                dtValidation: _DtValidation,
                statutId: (_StatutId == null ? -1 : _StatutId),
                eleveId: (_EleveId == null ? -1 : _EleveId),
                prix: (_Prix == null ? -1 : _Prix),
                fraiId: (_FraiId == null ? -1 : _EleveId),
                referenceTransaction: (String.IsNullOrEmpty(_ReferenceTransaction) ? null : _ReferenceTransaction),
                referenceExterne: (String.IsNullOrEmpty(_ReferenceExterne) ? null : _ReferenceExterne.Trim()),
                adresseId: (_NewAdresseId == null ? -1 : _NewAdresseId)
                ).FirstOrDefault().Value;

            //ajout des lignes
            foreach (Ligne _Current in _Lignes)
            {
                Int32?_NewLigneId = _DB.AddLigne(
                    produitId: _Current.Produit.Id,
                    commandeId: _NewCommandeId,
                    quantite: _Current.Quantite,
                    statutId: _StatutId,
                    prix: _Current.Prix,
                    reduction: _Current.Reduction
                    ).FirstOrDefault().Value;
            }

            //envoi du mail de confirmation
            #region "Mail"
            String _EmailConfirmation = String.Empty;
            _EmailConfirmation += "<html>";
            _EmailConfirmation += "<body>";
            _EmailConfirmation += "<img src=\"http://www.cavalier-roi.fr/Content/Images/LogoMail.jpg\" />";
            _EmailConfirmation += "<br /><hr /><br />";
            if (_StatutId == 3)
            {
                _EmailConfirmation += "Votre commande #" + _NewCommandeId.ToString() + " a bien été prise en compte et votre paiement " + _ReferenceTransaction + " a bien été effectué !";
            }
            else if (_StatutId == 2)
            {
                _EmailConfirmation += "Votre commande #" + _NewCommandeId.ToString() + " a bien été prise en compte !";
            }
            _EmailConfirmation += "<br /><br />";
            _EmailConfirmation += "<table cellpadding=\"2\" cellspacing=\"2\" border=\"1\">";
            _EmailConfirmation += "<tr>";
            _EmailConfirmation += "     <th>Numéro de produit</th>";
            _EmailConfirmation += "     <th>Libellé de produit</th>";
            _EmailConfirmation += "     <th>Quantité</th>";
            foreach (Ligne _Current in _Lignes)
            {
                _EmailConfirmation += "<tr>";
                _EmailConfirmation += "     <td>" + (!String.IsNullOrEmpty(_Current.Produit.Reference) ? _Current.Produit.Reference : _Current.Produit.Id.ToString()) + "</td>";
                _EmailConfirmation += "     <td>" + _Current.Produit.Libelle + "</td>";
                _EmailConfirmation += "     <td>" + _Current.Quantite + "</td>";
                _EmailConfirmation += "</tr>";
            }
            _EmailConfirmation += "</table>";
            _EmailConfirmation += "<br /><br />";
            _EmailConfirmation += "Vous pouvez retrouver toutes vos commandes 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>.";
            _EmailConfirmation += "<br /><br />";
            if (_StatutId == 3)
            {
                _EmailConfirmation += "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.";
            }
            else if (_StatutId == 2)
            {
                _EmailConfirmation += "Vous recevrez votre facture directement par mail ou en la demandant à <a href=\"mailto:" + WS.Constants.COMMANDES_EMAIL + "\" target=\"_blank\">" + WS.Constants.COMMANDES_EMAIL + "</a>";
                _EmailConfirmation += "<br /><br />";
                _EmailConfirmation += "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>.";
            }
            _EmailConfirmation += "<br /><br />";
            _EmailConfirmation += "L'École du Cavalier Roi";
            _EmailConfirmation += "<br /><br />";
            _EmailConfirmation += "</body>";
            _EmailConfirmation += "</html>";
            ICSManager.SendMail(WS.Constants.COMMANDES_EMAIL, WS.Constants.COMMANDES_SENDER, _Eleve.Email, WS.Constants.COMMANDES_CC, WS.Constants.COMMANDES_CCI, "Confirmation de commande", _EmailConfirmation, true, null, null, WS.Constants.MAILSERVER_HOST, WS.Constants.MAILSERVER_PORT, WS.Constants.COMMANDES_USERNAME, WS.Constants.COMMANDES_PASSWORD, 100000, false);
            #endregion

            return(_NewCommandeId);
        }
Пример #3
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);
        }