/// <summary> /// Replace per gli ordini /// </summary> internal static string Replace(this string text, Ordini ordini) { var sb = new StringBuilder(text); sb = sb.Replace("[OID]", ordini.Id.ToString()) .Replace("[ODATA]", ordini.Data.ToShortDateString()) .Replace("[OEVASO]", ordini.Evaso.ToString()) .Replace("[OEVASODATA]", ordini.EvasoData.ToShortDateString()) .Replace("[OEVASONOTE]", ordini.EvasoNote) .Replace("[ONOTE]", ordini.Note) .Replace("[OPREZZO]", ordini.Prezzo.ToString("C2")) .Replace("[OPAGATO]", ordini.Pagato.ToString()) .Replace("[OPAGATODATA]", ordini.PagatoData.ToShortDateString()); return sb.ToString(); }
/// <summary> /// Quando viene inviato il pagamento via paypal, avvisa ufficio pagamenti /// </summary> /// <param name = "ordini"></param> public static void OrdinePagatoPayPal(Ordini ordini) { if (ordini == null) return; var lingua = ordini.OrdiniIndirizzi.Utenti.Lingue; var utente = ordini.OrdiniIndirizzi.Utenti; //Invia l'email all'ufficio dei pagamenti var emailAccounting = Impostazioni.GetItem(Impostazioni.ImpostazioniEnum.EmailAccounting).Valore; string oggetto = Etichette.GetItem(Etichette.EtichetteEnum.EmailAccountingPayPalOggetto, lingua).Valore.Replace(utente).Replace(ordini); string contenuto = Etichette.GetItem(Etichette.EtichetteEnum.EmailAccountingPayPalContenuto, lingua).Valore.Replace(utente).Replace(ordini); InviaEmail(Settings.Config.Email.SenderNoReply, emailAccounting, oggetto, contenuto, lingua); }
/// <summary> /// Email inviata all'ufficio fatturazione e all'utente che conferma l'avvenuta prenotazione di un ordine /// </summary> internal static void OrdineInviato(Ordini ordine) { if (ordine == null) return; if (ordine.OrdiniIndirizzi.Utenti == null) { ManagerLog.Warn("Si è tentato di inviare un ordine ad un utente che è stato eliminato."); return; } var lingua = ordine.OrdiniIndirizzi.Utenti.Lingue; var utente = ordine.OrdiniIndirizzi.Utenti; //Invia l'email all'ufficio dei pagamenti var emailAccounting = Impostazioni.GetItem(Impostazioni.ImpostazioniEnum.EmailAccounting).Valore; string oggetto = Etichette.GetItem(Etichette.EtichetteEnum.EmailAccountingOrderSentForProcessingOggetto, lingua).Valore.Replace(utente).Replace(ordine); string contenuto = Etichette.GetItem(Etichette.EtichetteEnum.EmailAccountingOrderSentForProcessingContenuto, lingua).Valore.Replace(utente).Replace(ordine); InviaEmail(Settings.Config.Email.SenderNoReply, emailAccounting, oggetto, contenuto, lingua); //Invia l'email all'utente che ha fatto l'ordine var emailUtente = ordine.OrdiniIndirizzi.Utenti.Email; contenuto = Etichette.GetItem(Etichette.EtichetteEnum.EmailUserOrderSentForProcessingContenuto, lingua).Valore.Replace(utente).Replace(ordine); oggetto = Etichette.GetItem(Etichette.EtichetteEnum.EmailUserOrderSentForProcessingOggetto, lingua).Valore.Replace(utente).Replace(ordine); InviaEmail(Settings.Config.Email.SenderNoReply, emailUtente, oggetto, contenuto, lingua); }
/// <summary> /// Invia una email all'utente indicando che il pagamento dell'ordine è stato ricevuto con successo e che l'ordine è in fase di spedizione /// </summary> /// <param name="ordini"></param> internal static void OrdinePagato(Ordini ordini) { if (ordini == null) return; var lingua = ordini.OrdiniIndirizzi.Utenti.Lingue; var utente = ordini.OrdiniIndirizzi.Utenti; //Invia l'email all'utente indicando che il pagamento è stato ricevuto con successo var emailUser = utente.Email; string oggetto = Etichette.GetItem(Etichette.EtichetteEnum.EmailUserPaymentReceivedOggetto, lingua).Valore.Replace(utente).Replace(ordini); string contenuto = Etichette.GetItem(Etichette.EtichetteEnum.EmailUserPaymentReceivedContenuto, lingua).Valore.Replace(utente).Replace(ordini); InviaEmail(Settings.Config.Email.SenderNoReply, emailUser, oggetto, contenuto, lingua); //Invia l'avviso all' ufficio spedizioni che l'ordine può essere spedito var deliveryEmail = Impostazioni.GetItem(Impostazioni.ImpostazioniEnum.EmailDelivery).Valore; oggetto = Etichette.GetItem(Etichette.EtichetteEnum.EmailDeliveryPaymentReceivedOggetto, lingua).Valore.Replace(utente).Replace(ordini); contenuto = Etichette.GetItem(Etichette.EtichetteEnum.EmailDeliveryPaymentReceivedContenuto, lingua).Valore.Replace(utente).Replace(ordini); InviaEmail(Settings.Config.Email.SenderNoReply, deliveryEmail, oggetto, contenuto, lingua); }
/// <summary> /// Invia l'email all'utente indicando che l'ordine è stato evaso per la spedizione /// </summary> /// <param name = "ordini"></param> public static void OrdineSpedito(Ordini ordini) { if (ordini == null) return; var lingua = ordini.OrdiniIndirizzi.Utenti.Lingue; var utente = ordini.OrdiniIndirizzi.Utenti; //Invia l'email all'utente che ha fatto l'ordine var emailUtente = ordini.OrdiniIndirizzi.Utenti.Email; string contenuto = Etichette.GetItem(Etichette.EtichetteEnum.EmailShippingContenuto, lingua).Valore.Replace(utente).Replace(ordini); string oggetto = Etichette.GetItem(Etichette.EtichetteEnum.EmailShippingOggetto, lingua).Valore.Replace(utente).Replace(ordini); InviaEmail(Settings.Config.Email.SenderNoReply, emailUtente, oggetto, contenuto, lingua); }