private void SetMittente(LOLSubmit lolSubmit) { var mittenteServizio = _servizio.Anagrafiche.Single(d => d.IsMittente == true); var mittente = new Mittente(); var nominativo = new Nominativo { Nome = mittenteServizio.Nome, Cognome = mittenteServizio.Cognome, Indirizzo = new Indirizzo { DUG = mittenteServizio.DUG, Toponimo = mittenteServizio.Toponimo, Esponente = mittenteServizio.Esponente, NumeroCivico = mittenteServizio.NumeroCivico }, CAP = mittenteServizio.Cap, CasellaPostale = mittenteServizio.CasellaPostale, Citta = mittenteServizio.Citta, ComplementoIndirizzo = mittenteServizio.ComplementoIndirizzo, ComplementoNominativo = mittenteServizio.ComplementoNominativo, Provincia = mittenteServizio.Provincia, Stato = mittenteServizio.Stato, RagioneSociale = mittenteServizio.RagioneSociale }; mittente.Nominativo = nominativo; lolSubmit.Mittente = mittente; }
private void UpdateCosto(object sender, EventArgs e) { string nome; costo = 100; quantitaOggetti = 0; if (Mittente.GetType() == typeof(Fabbrica)) { Fabbrica tempFabbrica = (Fabbrica)Mittente; foreach (var item in tempFabbrica.SlotProdotti.DizionarioProdotti) { nome = item.Key + "_coso"; var coso = (NumericUpDown)this.Controls[nome]; if ((int)coso.Value <= item.Value.Quantita) { quantitaOggetti += (int)coso.Value; } else { coso.Value = item.Value.Quantita; } } foreach (var item in ListaOggetti.DizionarioMateriali) { nome = item.Key + "_coso"; var coso = (NumericUpDown)this.Controls[nome]; coso.Value = 0; } } else { Industria tempIndustria = (Industria)Mittente; foreach (var item in tempIndustria.SlotMateriali.DizionarioMateriali) { nome = item.Key + "_coso"; var coso = (NumericUpDown)this.Controls[nome]; if ((int)coso.Value <= item.Value.Quantita) { quantitaOggetti += (int)coso.Value; } else { coso.Value = item.Value.Quantita; } } foreach (var item in ListaOggetti.DizionarioProdotti) { nome = item.Key + "_coso"; var coso = (NumericUpDown)this.Controls[nome]; coso.Value = 0; } } nVagoni = (int)(quantitaOggetti / 10); costo += nVagoni * 50; costo_label.Text = "Costo: " + costo.ToString() + "$"; }
private static Mittente GetMittente(SenderDto sender) { Mittente Mittente = new Mittente(); Nominativo Nominativo = new Nominativo(); Indirizzo Indirizzo = new Indirizzo(); Nominativo.CAP = sender.cap; Nominativo.Citta = sender.city; Nominativo.Cognome = sender.surname; Nominativo.Nome = sender.name; Nominativo.Provincia = sender.province; Nominativo.Stato = sender.state; Nominativo.RagioneSociale = sender.businessName; Indirizzo.DUG = sender.dug; Indirizzo.NumeroCivico = sender.houseNumber; Indirizzo.Toponimo = sender.address; Indirizzo.Esponente = string.Empty; Nominativo.Telefono = string.Empty; Nominativo.TipoIndirizzo = NominativoTipoIndirizzo.NORMALE; Nominativo.UfficioPostale = ""; Nominativo.Zona = string.Empty; Nominativo.ComplementoIndirizzo = string.Empty; Nominativo.CasellaPostale = ""; Nominativo.ComplementoNominativo = string.Empty; Nominativo.Frazione = string.Empty; Nominativo.Indirizzo = Indirizzo; Mittente.Nominativo = Nominativo; Mittente.InviaStampa = false; return(Mittente); }
private static void EstraiDatiProtoEntrata(DocsPaVO.documento.SchedaDocumento schDoc, Registrazione registrazione) { DocsPaVO.documento.ProtocolloEntrata protEnt = schDoc.protocollo as DocsPaVO.documento.ProtocolloEntrata; if (protEnt != null) { registrazione.ProtocolloMittente = new ProtocolloMittente { Protocollo = protEnt.numero, MezzoSpedizione = protEnt.mezzoSpedizione.ToString(), Data = protEnt.dataProtocollazione }; DocsPaVO.utente.Corrispondente corr = protEnt.mittente; List <Mittente> mittList = new List <Mittente>(); if (protEnt.mittenti != null) { foreach (object c in protEnt.mittenti) { DocsPaVO.utente.Corrispondente corrItem = c as DocsPaVO.utente.Corrispondente; Mittente m = new Mittente { Codice = corrItem.codiceRubrica, IndirizzoMail = corrItem.email, Descrizione = corrItem.descrizione, ProtocolloMittente = protEnt.numero, DataProtocolloMittente = protEnt.dataProtocolloMittente }; mittList.Add(m); } } if (protEnt.mittenteIntermedio != null) { Mittente m = new Mittente { Codice = protEnt.mittenteIntermedio.codiceRubrica, IndirizzoMail = protEnt.mittenteIntermedio.email, Descrizione = protEnt.mittenteIntermedio.descrizione, ProtocolloMittente = protEnt.numero, DataProtocolloMittente = protEnt.dataProtocolloMittente }; mittList.Add(m); } { Mittente m = new Mittente { Codice = corr.codiceRubrica, IndirizzoMail = corr.email, Descrizione = corr.descrizione, ProtocolloMittente = protEnt.numero, DataProtocolloMittente = protEnt.dataProtocolloMittente }; mittList.Add(m); } registrazione.Mittente = mittList.ToArray(); } }
private static void EstraiDatiProtoInterno(DocsPaVO.documento.SchedaDocumento schDoc, Registrazione registrazione) { DocsPaVO.documento.ProtocolloInterno protInt = schDoc.protocollo as DocsPaVO.documento.ProtocolloInterno; if (protInt != null) { List <Destinatario> destList = new List <Destinatario>(); if (protInt.destinatari != null) { foreach (object c in protInt.destinatari) { DocsPaVO.utente.Corrispondente corrItem = c as DocsPaVO.utente.Corrispondente; Destinatario d = new Destinatario { Codice = corrItem.codiceRubrica, IndirizzoMail = corrItem.email, Descrizione = corrItem.descrizione, MezzoSpedizione = protInt.mezzoSpedizione.ToString() }; destList.Add(d); } } if (protInt.destinatariConoscenza != null) { foreach (object c in protInt.destinatariConoscenza) { DocsPaVO.utente.Corrispondente corrItem = c as DocsPaVO.utente.Corrispondente; Destinatario d = new Destinatario { Codice = corrItem.codiceRubrica, IndirizzoMail = corrItem.email, Descrizione = corrItem.descrizione, MezzoSpedizione = protInt.mezzoSpedizione.ToString() }; destList.Add(d); } } if (protInt.mittente != null) { List <Mittente> mittList = new List <Mittente>(); Mittente m = new Mittente { Codice = protInt.mittente.codiceRubrica, IndirizzoMail = protInt.mittente.email, Descrizione = protInt.mittente.descrizione, ProtocolloMittente = null, DataProtocolloMittente = null }; mittList.Add(m); registrazione.Mittente = mittList.ToArray(); } registrazione.Destinatario = destList.ToArray(); } }
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; } }
private static Mittente GetMittente(SenderDto sender, string businessName) { Mittente m = new Mittente(); m.Nominativo = businessName; m.ComplementoIndirizzo = ""; m.ComplementoNominativo = ""; m.Indirizzo = sender.dug + " " + sender.address + " " + sender.houseNumber; m.Cap = sender.cap; m.Comune = sender.city; m.Provincia = sender.province; m.Nazione = sender.state; return(m); }
public void GenerateId(int mailNumber) { var stringFirstLetter = Mittente.Substring(0, 1); if (DataInvio != null) { var stringDate = DataInvio.ToString("ddMMyyyyHHmm"); var stringId = mailNumber + "_" + stringDate + stringFirstLetter; ProtId = stringId; } else { var stringDate = DataRicezione?.ToString("ddMMyyyyHHmm"); var stringId = mailNumber + "_" + stringDate + stringFirstLetter; ProtId = stringId; } //var stringDate = DataInvio.ToString("ddMMyyyyHHmm"); //var stringId = mailNumber +"_"+ stringDate + stringFirstLetter; //ProtId = stringId; }
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); } } }