public ActionResult MessaggioAnnullaMF(decimal idAttMagFam) { ModelloMsgMail msg = new ModelloMsgMail(); try { using (dtDipendenti dtd = new dtDipendenti()) { using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtUffici dtu = new dtUffici()) { var t = dtt.GetTrasferimentoByIdAttMagFam(idAttMagFam); if (t?.idTrasferimento > 0) { var dip = dtd.GetDipendenteByID(t.idDipendente); var uff = dtu.GetUffici(t.idUfficio); msg.corpoMsg = string.Format(Resources.msgEmail.MessaggioAnnullaRichiestaMaggiorazioniFamiliari, uff.descUfficio + " (" + uff.codiceUfficio + ")", t.dataPartenza.ToShortDateString()); ViewBag.idTrasferimento = t.idTrasferimento; } } } } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(PartialView(msg)); }
public ActionResult MessaggioAnnullaProvvidenzeScolastiche(decimal idTrasfProvScolastiche) { ModelloMsgMail msg = new ModelloMsgMail(); try { using (dtDipendenti dtd = new dtDipendenti()) { using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtUffici dtu = new dtUffici()) { var t = dtt.GetTrasferimentoByIDProvvScolastiche(idTrasfProvScolastiche); if (t?.idTrasferimento > 0) { var dip = dtd.GetDipendenteByID(t.idDipendente); var uff = dtu.GetUffici(t.idUfficio); msg.corpoMsg = string.Format(Resources.msgEmail.MessaggioAnnullaRichiestaProvvidenzeScolastiche, uff.descUfficio + " (" + uff.codiceUfficio + ")", t.dataPartenza); } } } } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(PartialView(msg)); }
public bool sendMail(ModelloMsgMail msgMail) { MailMessage messaggio = new MailMessage(); //string NomeMittente = string.Empty; if (msgMail.mittente == null || string.IsNullOrWhiteSpace(msgMail.mittente.EmailMittente)) { string mittenteIse = System.Configuration.ConfigurationManager.AppSettings["EmailISE"]; messaggio.From = new MailAddress(mittenteIse, "ISE"); } else { messaggio.From = new MailAddress(msgMail.mittente.EmailMittente, msgMail.mittente.Nominativo); } List <Destinatario> Destinatari = msgMail.destinatario.ToList(); foreach (var d in Destinatari) { messaggio.To.Add(new MailAddress(d.EmailDestinatario, d.Nominativo)); } if (msgMail.cc?.Any() ?? false) { List <Destinatario> lcc = msgMail.cc.ToList(); foreach (var cc in lcc) { messaggio.CC.Add(new MailAddress(cc.EmailDestinatario, cc.Nominativo)); } } messaggio.Subject = msgMail.oggetto; messaggio.SubjectEncoding = System.Text.Encoding.UTF8; messaggio.Priority = msgMail.priorita; // Gestire campo vuoto del Body //messaggio.Body = @"Il mio messaggio di testo <b>in formato html</b>"; messaggio.Body = msgMail.corpoMsg; messaggio.BodyEncoding = System.Text.Encoding.UTF8; messaggio.IsBodyHtml = true; SmtpClient server = new SmtpClient(); string host = System.Configuration.ConfigurationManager.AppSettings["HostMail"]; server.Host = host; //server.Port = 587; //465 server.EnableSsl = false; server.Credentials = CredentialCache.DefaultNetworkCredentials; server.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; //smtpClient.EnableSsl = true; server.Send(messaggio); return(true); }
public void EmailAnnullaRichiestaAnticipi(decimal idAttivitaAnticipi, ModelDBISE db) { AccountModel am = new AccountModel(); Mittente mittente = new Mittente(); Destinatario to = new Destinatario(); Destinatario cc = new Destinatario(); try { am = Utility.UtenteAutorizzato(); mittente.Nominativo = am.nominativo; mittente.EmailMittente = am.eMail; var aa = db.ATTIVITAANTICIPI.Find(idAttivitaAnticipi); if (aa?.IDATTIVITAANTICIPI > 0) { TRASFERIMENTO tr = aa.PRIMASITEMAZIONE.TRASFERIMENTO; DIPENDENTI dip = tr.DIPENDENTI; UFFICI uff = tr.UFFICI; using (GestioneEmail gmail = new GestioneEmail()) { using (ModelloMsgMail msgMail = new ModelloMsgMail()) { cc = new Destinatario() { Nominativo = am.nominativo, EmailDestinatario = am.eMail }; to = new Destinatario() { Nominativo = dip.NOME + " " + dip.COGNOME, EmailDestinatario = dip.EMAIL, }; msgMail.mittente = mittente; msgMail.cc.Add(cc); msgMail.destinatario.Add(to); msgMail.oggetto = Resources.msgEmail.OggettoAnnullaRichiestaAnticipi; msgMail.corpoMsg = string.Format(Resources.msgEmail.MessaggioAnnullaRichiestaAnticipi, uff.DESCRIZIONEUFFICIO + " (" + uff.CODICEUFFICIO + ")", tr.DATAPARTENZA.ToLongDateString()); gmail.sendMail(msgMail); } } } } catch (Exception ex) { throw ex; } }
public ActionResult MessaggioAnnullaTV(decimal idTitoliViaggio) { ModelloMsgMail msg = new ModelloMsgMail(); try { using (ModelDBISE db = new ModelDBISE()) { using (dtTitoliViaggi dttv = new dtTitoliViaggi()) { using (dtDipendenti dtd = new dtDipendenti()) { using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtUffici dtu = new dtUffici()) { var t = dtt.GetTrasferimentoByIdTitoloViaggio(idTitoliViaggio); if (t?.idTrasferimento > 0) { var dip = dtd.GetDipendenteByID(t.idDipendente); var uff = dtu.GetUffici(t.idUfficio); var conta_attivazioni = dttv.GetNumAttivazioniTV(idTitoliViaggio, db); string messaggioAnnulla = ""; if (conta_attivazioni == 1) { messaggioAnnulla = Resources.msgEmail.MessaggioAnnullaRichiestaInizialeTitoloViaggio; } else { messaggioAnnulla = Resources.msgEmail.MessaggioAnnullaRichiestaSuccessivaTitoloViaggio; } msg.corpoMsg = string.Format(messaggioAnnulla, uff.descUfficio + " (" + uff.codiceUfficio + ")", t.dataPartenza.ToShortDateString()); ViewBag.idTrasferimento = t.idTrasferimento; ViewBag.idTitoliViaggio = idTitoliViaggio; } } } } } } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(PartialView(msg)); }
public static void EmailAttiva(decimal idTrasferimento, string oggettoMessaggio, string testoMessaggio, ModelDBISE db) { AccountModel am = new AccountModel(); Mittente mittente = new Mittente(); Destinatario to = new Destinatario(); Destinatario cc = new Destinatario(); try { am = Utility.UtenteAutorizzato(); if (am.RuoloAccesso.idRuoloAccesso != (decimal)EnumRuoloAccesso.SuperAmministratore) { mittente.Nominativo = am.nominativo; mittente.EmailMittente = am.eMail; } var t = db.TRASFERIMENTO.Find(idTrasferimento); if (t?.IDTRASFERIMENTO > 0) { DIPENDENTI dip = t.DIPENDENTI; //UFFICI uff = t.UFFICI; using (GestioneEmail gmail = new GestioneEmail()) { using (ModelloMsgMail msgMail = new ModelloMsgMail()) { to = new Destinatario() { Nominativo = dip.NOME + " " + dip.COGNOME, EmailDestinatario = dip.EMAIL, }; var lua = db.UTENTIAUTORIZZATI.Where(a => a.IDRUOLOUTENTE == (decimal)EnumRuoloAccesso.Amministratore).ToList(); foreach (var ua in lua) { var dipAdmin = ua.DIPENDENTI; if (dipAdmin != null) { cc = new Destinatario() { Nominativo = dipAdmin.NOME + " " + dipAdmin.COGNOME, EmailDestinatario = dipAdmin.EMAIL, }; msgMail.cc.Add(cc); } } msgMail.mittente = mittente; msgMail.destinatario.Add(to); msgMail.oggetto = oggettoMessaggio; msgMail.corpoMsg = testoMessaggio; gmail.sendMail(msgMail); } } } } catch (Exception ex) { throw ex; } }
public static void EmailNotifica(EnumChiamante chiamante, decimal idTrasferimento, string oggettoMessaggio, string testoMessaggio, ModelDBISE db) { AccountModel am = new AccountModel(); Mittente mittente = new Mittente(); Destinatario to = new Destinatario(); Destinatario cc = new Destinatario(); try { am = Utility.UtenteAutorizzato(); if (am.RuoloAccesso.idRuoloAccesso != (decimal)EnumRuoloAccesso.SuperAmministratore) { mittente.Nominativo = am.nominativo; mittente.EmailMittente = am.eMail; } //var tr = db.TRASFERIMENTO.Find(idTrasferimento); //DIPENDENTI d = tr.DIPENDENTI; //UFFICI u = tr.UFFICI; using (GestioneEmail gmail = new GestioneEmail()) { using (ModelloMsgMail msgMail = new ModelloMsgMail()) { cc = new Destinatario() { Nominativo = am.nominativo, EmailDestinatario = am.eMail }; msgMail.cc.Add(cc); if (chiamante == EnumChiamante.Titoli_Viaggio) { string emailAE = System.Configuration.ConfigurationManager.AppSettings["EmailUfficioGestioneGiuridicaEsviluppo"]; to = new Destinatario() { Nominativo = "Ufficio Gestione Giuridica e Sviluppo", EmailDestinatario = emailAE, }; msgMail.destinatario.Add(to); } if (chiamante == EnumChiamante.Passaporti) { string emailOG = System.Configuration.ConfigurationManager.AppSettings["EmailUfficioGestioneEconomica"]; to = new Destinatario() { Nominativo = "Ufficio Personale", EmailDestinatario = emailOG, }; msgMail.destinatario.Add(to); } var lua = db.UTENTIAUTORIZZATI.Where(a => a.IDRUOLOUTENTE == (decimal)EnumRuoloAccesso.Amministratore).ToList(); foreach (var ua in lua) { var dipAdmin = ua.DIPENDENTI; if (dipAdmin != null) { to = new Destinatario() { Nominativo = dipAdmin.NOME + " " + dipAdmin.COGNOME, EmailDestinatario = dipAdmin.EMAIL, }; msgMail.destinatario.Add(to); } } msgMail.mittente = mittente; msgMail.oggetto = oggettoMessaggio; msgMail.corpoMsg = testoMessaggio; gmail.sendMail(msgMail); } } } catch (Exception ex) { throw ex; } }
public static void EmailInviiDirettiPrimaSistemazione(decimal idTrasferimento, ModelDBISE db) { //AccountModel am = new AccountModel(); Mittente mittente = new Mittente(); Destinatario to = new Destinatario(); Destinatario cc = new Destinatario(); string EmailMittenteIse = System.Configuration.ConfigurationManager.AppSettings["EmailISE"]; string destinatarioContabilita = System.Configuration.ConfigurationManager.AppSettings["LineaContabilita"]; string oggettoMessaggio = string.Empty; string testoMessaggio = string.Empty; try { //am = Utility.UtenteAutorizzato(); //if (am.RuoloAccesso.idRuoloAccesso != (decimal)EnumRuoloAccesso.SuperAmministratore) //{ // mittente.Nominativo = am.nominativo; // mittente.EmailMittente = am.eMail; //} mittente.Nominativo = "ISE"; mittente.EmailMittente = EmailMittenteIse; var t = db.TRASFERIMENTO.Find(idTrasferimento); DIPENDENTI dip = t.DIPENDENTI; string nominativo = dip.COGNOME + " " + dip.NOME; oggettoMessaggio = "ISE - Trasmissione di Indennità di Prima Sistemazione di " + nominativo; testoMessaggio += "<p><p align='justify'>Con la presente si comunica che in data <b>" + DateTime.Now.ToShortDateString() + "</b> il Sistema <b>ISE - Indennità Sede Estera</b> - ha "; testoMessaggio += "caricato in <b>Oracle Applications</b> un movimento di <i>Indennità di Prima"; testoMessaggio += "Sistemazione</i> relativo a <b>" + nominativo + "</b> "; testoMessaggio += "(<i>matricola</i>: <b>" + dip.MATRICOLA + "</b>).</p></p>"; testoMessaggio += "<p>Distinti saluti</p> "; testoMessaggio += "<b><big>ICE</big> - <big>A</big>genzia per il <big>C</big>ommercio <big>E</big>stero e <big>l'</big>internazionalizzazione</b><br /> "; testoMessaggio += "<b>Amministrazione Economica Del Personale</b> "; testoMessaggio += "<hr>"; using (GestioneEmail gmail = new GestioneEmail()) { using (ModelloMsgMail msgMail = new ModelloMsgMail()) { to = new Destinatario() { Nominativo = "Linea contabilità", EmailDestinatario = destinatarioContabilita, }; var lua = db.UTENTIAUTORIZZATI.Where(a => a.IDRUOLOUTENTE == (decimal)EnumRuoloAccesso.Amministratore).ToList(); foreach (var ua in lua) { var dipAdmin = ua.DIPENDENTI; if (dipAdmin != null) { cc = new Destinatario() { Nominativo = dipAdmin.NOME + " " + dipAdmin.COGNOME, EmailDestinatario = dipAdmin.EMAIL, }; msgMail.cc.Add(cc); } } msgMail.mittente = mittente; msgMail.destinatario.Add(to); msgMail.oggetto = oggettoMessaggio; msgMail.corpoMsg = testoMessaggio; gmail.sendMail(msgMail); } } } catch (Exception ex) { throw ex; } }
private void EmailNotificaRichiestaAnticipi(decimal idAttivitaAnticipi, ModelDBISE db) { PRIMASITEMAZIONE ps = new PRIMASITEMAZIONE(); AccountModel am = new AccountModel(); Mittente mittente = new Mittente(); Destinatario to = new Destinatario(); Destinatario cc = new Destinatario(); List <UtenteAutorizzatoModel> luam = new List <UtenteAutorizzatoModel>(); try { am = Utility.UtenteAutorizzato(); mittente.Nominativo = am.nominativo; mittente.EmailMittente = am.eMail; var aa = db.ATTIVITAANTICIPI.Find(idAttivitaAnticipi); ps = aa.PRIMASITEMAZIONE; if (ps?.IDPRIMASISTEMAZIONE > 0) { TRASFERIMENTO tr = ps.TRASFERIMENTO; DIPENDENTI d = tr.DIPENDENTI; UFFICI u = tr.UFFICI; using (dtUtentiAutorizzati dtua = new dtUtentiAutorizzati()) { using (GestioneEmail gmail = new GestioneEmail()) { using (ModelloMsgMail msgMail = new ModelloMsgMail()) { cc = new Destinatario() { Nominativo = am.nominativo, EmailDestinatario = am.eMail }; msgMail.mittente = mittente; msgMail.cc.Add(cc); luam.AddRange(dtua.GetUtentiByRuolo(EnumRuoloAccesso.Amministratore).ToList()); foreach (var uam in luam) { var amministratore = db.DIPENDENTI.Find(uam.idDipendente); if (amministratore != null && amministratore.IDDIPENDENTE > 0) { to = new Destinatario() { Nominativo = amministratore.COGNOME + " " + amministratore.NOME, EmailDestinatario = amministratore.EMAIL }; msgMail.destinatario.Add(to); } } msgMail.oggetto = Resources.msgEmail.OggettoNotificaRichiestaAnticipi; msgMail.corpoMsg = string.Format( Resources.msgEmail.MessaggioNotificaRichiestaAnticipi, d.COGNOME + " " + d.NOME + " (" + d.MATRICOLA + ")", tr.DATAPARTENZA.ToLongDateString(), u.DESCRIZIONEUFFICIO + " (" + u.CODICEUFFICIO + ")"); gmail.sendMail(msgMail); } } } } } catch (Exception ex) { throw ex; } }
//public ActionResult InserisciNuovaNotifica(NotificheModel nmod) //public ActionResult InserisciNuovaNotifica(HttpPostedFileBase PDFUpload, NotificheModel nmod) public ActionResult InserisciNuovaNotifica(string listaMailPrincipale, string listaMailToCc, string Oggetto, string CorpoMessaggio, HttpPostedFileBase file) { bool InserimentoEffettuatoinDB = false; string nomefile = ""; string[] VettNomeFile = null; string nomefileFin = ""; string estensione = ""; if (file != null) { nomefile = file.FileName; VettNomeFile = nomefile.Split('\\'); nomefile = VettNomeFile[VettNomeFile.Length - 1]; nomefileFin = nomefile.Split('.')[0]; estensione = nomefile.Split('.')[1]; } AggiornaLista(); decimal idMittenteLogato = Utility.UtenteAutorizzato().idDipendente; ViewBag.idMittenteLogato = idMittenteLogato; UtentiAutorizzatiModel uta = null; NotificheModel nmod = new NotificheModel(); //if (nmod.PDFUpload == null || nmod.PDFUpload.ContentLength == 0) //{ // ModelState.AddModelError("PDFUpload", "Questo campo è richiesto"); //} List <NotificheModel> lnm = new List <NotificheModel>(); using (ModelDBISE db = new ModelDBISE()) { using (dtNotifiche dtn = new dtNotifiche()) { try { db.Database.BeginTransaction(); try { // db.Database.BeginTransaction(); // HttpPostedFileBase file = Request.Files[item] as HttpPostedFileBase; bool esisteFile = false; bool gestisceEstensioni = false; bool dimensioneConsentita = false; string dimensioneMaxConsentita = string.Empty; PreSetDocumentoNotifiche(file, out nmod, out esisteFile, out gestisceEstensioni, out dimensioneConsentita, out dimensioneMaxConsentita); nmod.dataNotifica = DateTime.Now; nmod.idMittente = idMittenteLogato; nmod.lDestinatari = listaMailPrincipale.Split(','); nmod.toCc = listaMailToCc.Split(','); nmod.corpoMessaggio = CorpoMessaggio; nmod.Oggetto = Oggetto; nmod.NomeFile = nomefileFin; nmod.Estensione = estensione; if (esisteFile) { if (gestisceEstensioni == false) { throw new Exception( "Il documento selezionato non è nel formato consentito. Il formato supportato è: pdf."); } if (!dimensioneConsentita) { throw new Exception( "Il documento selezionato supera la dimensione massima consentita (" + dimensioneMaxConsentita + " Mb)."); } } bool tutti = false; uta = dtn.RestituisciAutorizzato(idMittenteLogato); InserimentoEffettuatoinDB = dtn.InsertNotifiche(nmod, db, out tutti); //db.Database.CurrentTransaction.Commit(); idMittenteLogato = nmod.idMittente;// Utility.UtenteAutorizzato().idDipendente; #region invia email se tutto ok if (InserimentoEffettuatoinDB) { using (GestioneEmail gmail = new GestioneEmail()) { ModelloAllegatoMail allegato = new ModelloAllegatoMail(); Destinatario dest = new Destinatario(); Destinatario destToCc = new Destinatario(); ModelloMsgMail modMSGmail = new ModelloMsgMail(); if (nmod.Allegato != null) { var docByte = dtn.GetDocumentoByteById(nmod.idNotifica, db); Stream streamDoc = new MemoryStream(docByte); allegato.nomeFile = nomefileFin + "." + estensione;//DateTime.Now.Ticks.ToString() + ".pdf"; allegato.allegato = streamDoc; modMSGmail.allegato.Add(allegato); } modMSGmail.oggetto = nmod.Oggetto; modMSGmail.corpoMsg = nmod.corpoMessaggio; Mittente mitt = new Mittente(); mitt.EmailMittente = dtn.GetEmailByIdDipendente(idMittenteLogato); decimal id_dip = dtn.RestituisciIDdestinatarioDaEmail(mitt.EmailMittente); DipendentiModel dmod = dtn.RestituisciDipendenteByID(id_dip); mitt.Nominativo = dmod.nome + " " + dmod.cognome; var ddss = dtn.GetListDestinatari(nmod.idNotifica, db); #region controllo tutti=false if (tutti == false) { foreach (var x in ddss) { string nome_ = dtn.RestituisciDipendenteByID(x.idDipendente).nome; string cognome_ = dtn.RestituisciDipendenteByID(x.idDipendente).cognome; string nominativo_ = nome_ + " " + cognome_; using (dtUtenzeDipendenti dtud = new dtUtenzeDipendenti()) { var les = dtud.GetListaEmailSecondarioDip(x.idDipendente); if (!x.ToCc) { dest = new Destinatario(); dest.EmailDestinatario = dtn.GetEmailByIdDipendente(x.idDipendente); dest.Nominativo = nominativo_; modMSGmail.destinatario.Add(dest); #region inserisce eventuali email secondarie if (les?.Any() ?? false) { foreach (var es in les) { dest = new Destinatario(); dest.EmailDestinatario = es.Email; dest.Nominativo = nominativo_; modMSGmail.destinatario.Add(dest); } } #endregion } else { destToCc = new Destinatario(); destToCc.EmailDestinatario = dtn.GetEmailByIdDipendente(x.idDipendente); destToCc.Nominativo = nominativo_; modMSGmail.cc.Add(destToCc); #region inserisce eventuali email secondarie if (les?.Any() ?? false) { foreach (var es in les) { destToCc = new Destinatario(); destToCc.EmailDestinatario = es.Email; destToCc.Nominativo = nominativo_; modMSGmail.cc.Add(destToCc); } } #endregion } } } } #endregion #region controllo tutti=true if (tutti == true) { List <DipendentiModel> listatutti = null; if (uta.idRouloUtente == (decimal)EnumRuoloAccesso.Amministratore) { listatutti = dtn.TuttiListaDestinatari((decimal)EnumRuoloAccesso.Utente); } if (uta.idRouloUtente == (decimal)EnumRuoloAccesso.Utente) { listatutti = dtn.TuttiListaDestinatari((decimal)EnumRuoloAccesso.Amministratore); } foreach (var elem in listatutti) { dest = new Destinatario(); dest.EmailDestinatario = elem.email; dest.Nominativo = elem.cognome + " " + elem.nome + " (" + elem.matricola + ")"; modMSGmail.destinatario.Add(dest); using (dtUtenzeDipendenti dtud = new dtUtenzeDipendenti()) { var les = dtud.GetListaEmailSecondarioDip(elem.idDipendente); #region inserisce eventuali email secondarie if (les?.Any() ?? false) { foreach (var es in les) { dest = new Destinatario(); dest.EmailDestinatario = es.Email; dest.Nominativo = elem.cognome + " " + elem.nome + " (" + elem.matricola + ")"; modMSGmail.destinatario.Add(destToCc); } } #endregion } } } #endregion #region Qui mi assicuro che tutti gli amministratori siano inclusi in ToCc if (tutti == false || (tutti == true && uta.idRouloUtente == (decimal)EnumRuoloAccesso.Utente)) { var lls = dtn.GetListaDipendentiAutorizzati((decimal)EnumRuoloAccesso.Amministratore); foreach (var x in lls) { bool found = false; if (modMSGmail.cc.Count != 0) { var tmp = modMSGmail.cc.Where(a => a.EmailDestinatario.ToUpper().Trim() == x.email.ToUpper().Trim()).ToList(); if (tmp.Count() != 0) { found = true; } } if (found == false) { destToCc = new Destinatario(); string nome_cc = x.nome; string cognome_cc = x.cognome; destToCc.EmailDestinatario = x.email; string nominativo_cc = nome_cc + " " + cognome_cc; destToCc.Nominativo = nominativo_cc; modMSGmail.cc.Add(destToCc); using (dtUtenzeDipendenti dtud = new dtUtenzeDipendenti()) { var les = dtud.GetListaEmailSecondarioDip(x.idDipendente); #region inserisce eventuali email secondarie if (les?.Any() ?? false) { foreach (var es in les) { destToCc = new Destinatario(); destToCc.EmailDestinatario = es.Email; destToCc.Nominativo = x.cognome + " " + x.nome; modMSGmail.cc.Add(destToCc); } } #endregion } } } } #endregion db.Database.CurrentTransaction.Commit(); lnm = dtn.GetNotifiche(idMittenteLogato).ToList(); modMSGmail.mittente = mitt; gmail.sendMail(modMSGmail); } } #endregion } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(PartialView("ListaNotifiche", lnm)); } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } } } }
public void InviaMailRichiamo(decimal idTrasferimento, ModelDBISE db, string corpoMessaggio = "", string oggetto = "") { // UtentiAutorizzatiModel uta = null; //decimal idMittenteLogato = Utility.UtenteAutorizzato().idDipendente; var uam = Utility.UtenteAutorizzato(); //ViewBag.idMittenteLogato = idMittenteLogato; // NotificheModel nmod = new NotificheModel(); using (dtRichiamo dtn = new dtRichiamo()) { using (GestioneEmail gmail = new GestioneEmail()) { // ModelloAllegatoMail allegato = new ModelloAllegatoMail(); Destinatario dest = new Destinatario(); Destinatario destToCc = new Destinatario(); ModelloMsgMail modMSGmail = new ModelloMsgMail(); //if (idDocumento != 0) //{ // var docByte = dtn.GetAllegatoVC(idAttivazioneVC, idDocumento); // Stream streamDoc = new MemoryStream(docByte); // DocumentiModel dm = dtn.GetDatiDocumentoById(idDocumento); // allegato.nomeFile = dm.nomeDocumento + "." + dm.estensione; // allegato.allegato = streamDoc; // modMSGmail.allegato.Add(allegato); //} modMSGmail.oggetto = oggetto; modMSGmail.corpoMsg = corpoMessaggio; Mittente mitt = new Mittente(); //mitt.EmailMittente = dtn.GetEmailByIdDipendente(idMittenteLogato); //decimal id_dip = dtn.RestituisciIDdestinatarioDaEmail(mitt.EmailMittente); if (uam?.idDipendente > 0) { DipendentiModel dmod = dtn.RestituisciDipendenteByID(uam.idDipendente, db); mitt.Nominativo = dmod.nome + " " + dmod.cognome; mitt.EmailMittente = dmod.email; } else { mitt.Nominativo = uam.nominativo; mitt.EmailMittente = uam.eMail; } decimal idDestinatario = dtn.Restituisci_ID_Destinatario(idTrasferimento); string nome_ = dtn.RestituisciDipendenteByID(idDestinatario, db).nome; string cognome_ = dtn.RestituisciDipendenteByID(idDestinatario, db).cognome; string nominativo_ = nome_ + " " + cognome_; dest = new Destinatario(); dest.EmailDestinatario = dtn.GetEmailByIdDipendente(idDestinatario); dest.Nominativo = nominativo_; modMSGmail.destinatario.Add(dest); //il mittente deve anche ricevere in coppia la mail destToCc = new Destinatario(); destToCc.EmailDestinatario = mitt.EmailMittente; string nominativo_c = mitt.Nominativo; destToCc.Nominativo = nominativo_c; modMSGmail.cc.Add(destToCc); //Qui mi assicuro che tutti gli amminsitratori siano inclusi in ToCc //var lls = dtn.GetListaDipendentiAutorizzati((decimal)EnumRuoloAccesso.Amministratore); //foreach (var x in lls) //{ // bool found = false; // if (modMSGmail.cc.Count != 0) // { // var tmp = modMSGmail.cc.Where(a => a.EmailDestinatario.ToUpper().Trim() == x.email.ToUpper().Trim()).ToList(); // if (tmp.Count() != 0) found = true; // } // if (found == false) // { // destToCc = new Destinatario(); // string nome_cc = x.nome; // string cognome_cc = x.cognome; // destToCc.EmailDestinatario = x.email; // string nominativo_cc = nome_cc + " " + cognome_cc; // destToCc.Nominativo = nominativo_cc; // modMSGmail.cc.Add(destToCc); // } //} /////////////////////////////////////////////////////// modMSGmail.mittente = mitt; gmail.sendMail(modMSGmail); } } }
public ActionResult InviamiPassword(InviamiPswModel ipm) { ModelloMsgMail msg = new ModelloMsgMail(); DipendenteRest dr = new DipendenteRest(); Destinatario d = new Destinatario(); sAdmin sad = new sAdmin(); string password = string.Empty; List <Destinatario> ld = new List <Destinatario>(); try { if (ModelState.IsValid) { using (Config cfg = new Config()) { sad = cfg.SuperAmministratore(); if (sad.s_admin.Count > 0) { var lutsa = sad.s_admin.Where(a => a.username == ipm.matricola); if (lutsa.Count() > 0) { var utsa = lutsa.First(); if (utsa != null) { d.Nominativo = utsa.cognome + " " + utsa.nome; d.EmailDestinatario = utsa.email; password = utsa.password; } } else { using (dtDipendentiRest dtdr = new dtDipendentiRest()) { dr = dtdr.GetDipendenteRest(ipm.matricola); } if (string.IsNullOrWhiteSpace(dr.nominativo)) { ModelState.AddModelError("", "Non risulta nessun nominativo per la matricola passata."); ViewBag.ModelStateCount = 1; return(View(ipm)); } else if (string.IsNullOrWhiteSpace(dr.email)) { ModelState.AddModelError("", "Non è presente nessuna E-mail per la matricola passata."); ViewBag.ModelStateCount = 1; return(View(ipm)); } d.Nominativo = dr.nominativo; d.EmailDestinatario = dr.email; password = dr.password; } } } ld.Add(d); string corpoMsg = @"<h1><strong>ISE (Indennita Sede Estera)</strong></h1> <h3>Sono state richieste le credenziali per l'utente <strong>{0} ({1}).</strong></h3> <ul style='list-style-type: square;'> <li>Username:<strong>{2};</strong></li> <li>Password: <strong>{3}</strong></li> </ul> <hr /> <div style='text-align: right;'> <p><span style='text-decoration: underline;'>{4} - {5}</span></p> </div> <p> </p>"; corpoMsg = string.Format(corpoMsg, d.Nominativo, ipm.matricola, ipm.matricola, password, DateTime.Now.ToLongDateString(), DateTime.Now.ToShortTimeString()); using (EmailCredenziali ec = new EmailCredenziali()) { msg.oggetto = "ISE - Password personale"; msg.corpoMsg = corpoMsg; msg.priorita = System.Net.Mail.MailPriority.High; msg.destinatario = ld; if (!ec.sendMail(msg)) { ModelState.AddModelError("", "Errore nell'invio dell'E-mail."); ViewBag.ModelStateCount = 1; return(View()); } else { return(RedirectToAction("Index", "Home")); } } } else { ViewBag.ModelStateCount = 0; return(View(ipm)); } } catch (Exception ex) { HandleErrorInfo her = new HandleErrorInfo(ex, "Account", "InviamiPassword"); return(View("Error", her)); } }
public bool sendMail(ModelloMsgMail msgMail) { try { EnumTipoAmbiente RealeSimulazione = (EnumTipoAmbiente)Convert.ToDecimal(System.Configuration.ConfigurationManager.AppSettings["RealeSimulazione"]); if (RealeSimulazione == EnumTipoAmbiente.Reale) { //bool test = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["Ambiente"]); AccountModel am = new AccountModel(); am = Utility.UtenteAutorizzato(); List <AccountModel> lacm = new List <AccountModel>(); using (ModelDBISE db = new ModelDBISE()) { var ldip = db.DIPENDENTI.Where( a => a.ABILITATO == true && ( a.UTENTIAUTORIZZATI.IDRUOLOUTENTE == (decimal)EnumRuoloAccesso.SuperAmministratore || a.UTENTIAUTORIZZATI.IDRUOLOUTENTE == (decimal)EnumRuoloAccesso.Amministratore) ) .OrderBy(a => a.COGNOME) .ThenBy(a => a.NOME) .ToList(); if (ldip?.Any() ?? false) { foreach (var dip in ldip) { AccountModel acm = new AccountModel() { idDipendente = dip.IDDIPENDENTE, idRuoloUtente = dip.UTENTIAUTORIZZATI.IDRUOLOUTENTE, cognome = dip.COGNOME, nome = dip.NOME, eMail = dip.EMAIL, password = dip.UTENTIAUTORIZZATI.PSW, utente = dip.UTENTIAUTORIZZATI.UTENTE }; lacm.Add(acm); } } else { return(false); } } //if (test) //{ // msgMail.destinatario.Clear(); // foreach (var acm in lacm) // { // msgMail.destinatario.Add(new Destinatario() // { // Nominativo = acm.cognome + " " + acm.nome, // EmailDestinatario = acm.eMail // }); // } // msgMail.cc.Clear(); //} //else if (am.idRuoloUtente ==(decimal)EnumRuoloAccesso.SuperAmministratore) //{ // msgMail.destinatario.Clear(); // msgMail.destinatario.Add(new Destinatario() // { // Nominativo = am.nominativo, // EmailDestinatario = am.eMail // }); // msgMail.cc.Clear(); //} MailMessage messaggio = new MailMessage(); //string NomeMittente = string.Empty; if (msgMail.mittente == null || string.IsNullOrWhiteSpace(msgMail.mittente.EmailMittente)) { string mittenteIse = System.Configuration.ConfigurationManager.AppSettings["EmailISE"]; messaggio.From = new MailAddress(mittenteIse, "ISE"); } else { messaggio.From = new MailAddress(msgMail.mittente.EmailMittente, msgMail.mittente.Nominativo); } List <Destinatario> Destinatari = msgMail.destinatario.ToList(); foreach (var d in Destinatari) { messaggio.To.Add(new MailAddress(d.EmailDestinatario, d.Nominativo)); } if (lacm.Count > 0) { foreach (var dipAdmin in lacm) { if (dipAdmin.idRuoloUtente == (decimal)EnumRuoloAccesso.SuperAmministratore) { messaggio.Bcc.Add(new MailAddress(dipAdmin.eMail, dipAdmin.nominativo)); } else { messaggio.CC.Add(new MailAddress(dipAdmin.eMail, dipAdmin.nominativo)); } } } if (msgMail.cc?.Any() ?? false) { List <Destinatario> lcc = msgMail.cc.ToList(); foreach (var cc in lcc) { messaggio.CC.Add(new MailAddress(cc.EmailDestinatario, cc.Nominativo)); } } //using (Config.Config cfg = new Config.Config()) //{ // sAdmin sad = new sAdmin(); // sad = cfg.SuperAmministratore(); // if (sad.s_admin.Count > 0) // { // foreach (var sa in sad.s_admin) // { // messaggio.Bcc.Add(new MailAddress(sa.email, sa.nominativo)); // } // } //} //messaggio.Bcc.Add("*****@*****.**"); messaggio.Subject = msgMail.oggetto; messaggio.SubjectEncoding = System.Text.Encoding.UTF8; if (msgMail.allegato != null && msgMail.allegato.Count > 0) { foreach (var item in msgMail.allegato) { Stream fs = item.allegato; Attachment allegato = new Attachment(fs, item.nomeFile); messaggio.Attachments.Add(allegato); } } //FileStream fs = new FileStream(@"C:\Users\UTENTE\Downloads\CPME79-00-AF-01-01(Analisi Funzionale).pdf", FileMode.Open, FileAccess.Read); //Attachment a = new Attachment(fs, "CPME79-00-AF-01-01(Analisi Funzionale).pdf", MediaTypeNames.Application.Octet); //// Code to send Multiple attachments //messaggio.Attachments.Add(new Attachment(@"C:\..\..\Fante.txt")); //messaggio.Attachments.Add(new Attachment(@"D:\abc-xyz\UseFull-Links\How to send an Email using C# – complete features.txt")); messaggio.Priority = msgMail.priorita; // Gestire campo vuoto del Body //messaggio.Body = @"Il mio messaggio di testo <b>in formato html</b>"; messaggio.Body = msgMail.corpoMsg; messaggio.BodyEncoding = System.Text.Encoding.UTF8; messaggio.IsBodyHtml = true; SmtpClient server = new SmtpClient(); string host = System.Configuration.ConfigurationManager.AppSettings["HostMail"]; server.Host = host; //server.Port = 587; //465 server.EnableSsl = false; server.Credentials = CredentialCache.DefaultNetworkCredentials; server.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; //smtpClient.EnableSsl = true; server.Send(messaggio); } return(true); } catch (SmtpException) { //Console.WriteLine("Errore: wwwww", e.StatusCode); // pLog.descAttivitaSvolta; return(false); } }