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()) )); }
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); }
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); }