public IList <DipendentiModel> GetUtenzeAutorizzate(List <UtentiAutorizzatiModel> autList) { List <DipendentiModel> ldm = new List <DipendentiModel>(); DipendentiModel tmp = new DipendentiModel(); using (ModelDBISE db = new ModelDBISE()) { foreach (var x in autList) { var ld = db.DIPENDENTI.Find(x.idDipendente); tmp = new DipendentiModel() { idDipendente = ld.IDDIPENDENTE, matricola = ld.MATRICOLA, nome = ld.NOME, cognome = ld.COGNOME, dataAssunzione = ld.DATAASSUNZIONE, dataCessazione = ld.DATACESSAZIONE, indirizzo = ld.INDIRIZZO, cap = ld.CAP, citta = ld.CITTA, provincia = ld.PROVINCIA, email = ld.EMAIL, telefono = ld.TELEFONO, fax = ld.FAX, abilitato = ld.ABILITATO, dataInizioRicalcoli = ld.DATAINIZIORICALCOLI }; ldm.Add(tmp); } } return(ldm); }
public DipendentiModel GetDatiUtenzaAutorizzata(decimal idd) { DipendentiModel ldm = new DipendentiModel(); using (ModelDBISE db = new ModelDBISE()) { var ld = db.DIPENDENTI.Where(b => b.IDDIPENDENTE == idd).ToList(); ldm = (from e in ld select new DipendentiModel() { idDipendente = e.IDDIPENDENTE, matricola = e.MATRICOLA, nome = e.NOME, cognome = e.COGNOME, dataAssunzione = e.DATAASSUNZIONE, dataCessazione = e.DATACESSAZIONE, indirizzo = e.INDIRIZZO, cap = e.CAP, citta = e.CITTA, provincia = e.PROVINCIA, email = e.EMAIL, telefono = e.TELEFONO, fax = e.FAX, abilitato = e.ABILITATO, dataInizioRicalcoli = e.DATAINIZIORICALCOLI }).ToList().First(); } return(ldm); }
public ActionResult ElencoEmailSecondarioDip(decimal idd) { List <EmailSecondarieDipModel> tmp = new List <EmailSecondarieDipModel>(); DipendentiModel tmp2 = new DipendentiModel(); try { using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti()) { tmp = dtcal.GetListaEmailSecondarioDip(idd); tmp2 = dtcal.GetDatiUtenzaAutorizzata(idd); } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } ViewBag.emailPrincipale = ""; ViewBag.idDipendente = "0"; if (tmp2 != null) { ViewBag.emailPrincipale = tmp2.email; ViewBag.idDipendente = tmp2.idDipendente; AggiornaViewBag(tmp2.idDipendente); } return(PartialView(tmp)); }
public List <DipendentiModel> GetListaDipendentiAutorizzati(decimal idRuoloUtente) { List <DipendentiModel> ldes = new List <DipendentiModel>(); List <DipendentiModel> ldesdef = new List <DipendentiModel>(); List <UtentiAutorizzatiModel> uaut = new List <UtentiAutorizzatiModel>(); using (ModelDBISE db = new ModelDBISE()) { uaut = (from d in db.UTENTIAUTORIZZATI where d.IDRUOLOUTENTE == idRuoloUtente && d.IDDIPENDENTE > 0 select new UtentiAutorizzatiModel() { idDipendente = (decimal)d.IDDIPENDENTE, idRouloUtente = idRuoloUtente, Utente = d.UTENTE, psw = d.PSW }).ToList(); foreach (var ut in uaut) { DipendentiModel dm = new DipendentiModel(); if (idRuoloUtente == (Decimal)EnumRuoloAccesso.Utente) { ldes = (from t in db.TRASFERIMENTO where t.IDDIPENDENTE == ut.idDipendente && (t.IDSTATOTRASFERIMENTO == (decimal)EnumStatoTraferimento.Attivo || t.IDSTATOTRASFERIMENTO == (decimal)EnumStatoTraferimento.Terminato) select new DipendentiModel() { matricola = t.DIPENDENTI.MATRICOLA, nome = t.DIPENDENTI.NOME == null ? "" : t.DIPENDENTI.NOME, cognome = t.DIPENDENTI.COGNOME == null ? "" : t.DIPENDENTI.COGNOME, email = t.DIPENDENTI.EMAIL == null ? "" : t.DIPENDENTI.EMAIL, idDipendente = t.IDDIPENDENTE, }).ToList(); } else if (idRuoloUtente == (Decimal)EnumRuoloAccesso.Amministratore) { ldes = (from t in db.DIPENDENTI where t.IDDIPENDENTE == ut.idDipendente select new DipendentiModel() { matricola = t.MATRICOLA, nome = t.NOME == null ? "" : t.NOME, cognome = t.COGNOME == null ? "" : t.COGNOME, email = t.EMAIL == null ? "" : t.EMAIL, idDipendente = t.IDDIPENDENTE }).ToList(); } if (ldes.Count != 0) { dm = ldes.First(); ldesdef.Add(dm); } } } return(ldesdef); }
public DipendentiModel RestituisciDipendenteByID(decimal idDipendente, ModelDBISE db) { DipendentiModel dm = new DipendentiModel(); DIPENDENTI d = db.DIPENDENTI.Find(idDipendente); dm.idDipendente = d.IDDIPENDENTE; dm.nome = d.NOME; dm.cognome = d.COGNOME; dm.email = d.EMAIL; d.INDIRIZZO = d.INDIRIZZO; return(dm); }
void AggiornaViewBag(decimal idd) { using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti()) { DipendentiModel tmp2 = new DipendentiModel(); tmp2 = dtcal.GetDatiUtenzaAutorizzata(idd); ViewBag.abilitato = tmp2.abilitato; ViewBag.emailPrincipale = tmp2.email; ViewBag.idDipendente = idd; } }
public ActionResult VisualizzaEmail(decimal idd) { ViewBag.idDipendente = idd; DipendentiModel tmp2 = new DipendentiModel(); using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti()) { tmp2 = dtcal.GetDatiUtenzaAutorizzata(idd); ViewBag.abilitato = tmp2.abilitato; } return(PartialView(tmp2)); }
public DipendentiModel GetDipendenteByMatricola(string matricola) { DipendentiModel dm = new DipendentiModel(); int matr = 0; using (ModelDBISE db = new ModelDBISE()) { try { matr = Convert.ToInt32(matricola); DIPENDENTI d = db.DIPENDENTI.Where(a => a.MATRICOLA == matr).First(); dm = new DipendentiModel() { idDipendente = d.IDDIPENDENTE, matricola = d.MATRICOLA, nome = d.NOME, cognome = d.COGNOME, dataAssunzione = d.DATAASSUNZIONE, dataCessazione = d.DATACESSAZIONE, indirizzo = d.INDIRIZZO, cap = d.CAP, citta = d.CITTA, provincia = d.PROVINCIA, email = d.EMAIL, telefono = d.TELEFONO, fax = d.FAX, abilitato = d.ABILITATO, dataInizioRicalcoli = d.DATAINIZIORICALCOLI, cdcGepe = new CDCGepeModel() { iddipendente = d.CDCGEPE.IDDIPENDENTE, codiceCDC = d.CDCGEPE.CODICECDC, descCDC = d.CDCGEPE.DESCCDC, dataInizioValidita = d.CDCGEPE.DATAINIZIOVALIDITA } }; } catch (Exception ex) { throw ex; } } return(dm); }
/// <summary> /// preleva il dipendente in base all'id trasferimento passato. /// </summary> /// <param name="id"></param> /// <returns></returns> public DipendentiModel GetDipendenteByIDTrasf(decimal idTrasf) { DipendentiModel dm = new DipendentiModel(); using (ModelDBISE db = new ModelDBISE()) { TRASFERIMENTO t = db.TRASFERIMENTO.Find(idTrasf); var d = t.DIPENDENTI; dm = new DipendentiModel() { idDipendente = d.IDDIPENDENTE, matricola = d.MATRICOLA, nome = d.NOME, cognome = d.COGNOME, dataAssunzione = d.DATAASSUNZIONE, dataCessazione = d.DATACESSAZIONE, indirizzo = d.INDIRIZZO, cap = d.CAP, citta = d.CITTA, provincia = d.PROVINCIA, email = d.EMAIL, telefono = d.TELEFONO, fax = d.FAX, abilitato = d.ABILITATO, dataInizioRicalcoli = d.DATAINIZIORICALCOLI, cdcGepe = new CDCGepeModel() { iddipendente = d.CDCGEPE.IDDIPENDENTE, codiceCDC = d.CDCGEPE.CODICECDC, descCDC = d.CDCGEPE.DESCCDC, dataInizioValidita = d.CDCGEPE.DATAINIZIOVALIDITA } }; } return(dm); }
public DipendentiModel GetDipendenteByEmail(string email, ModelDBISE db) { DipendentiModel dm = new DipendentiModel(); var ld = db.DIPENDENTI.Where(a => a.EMAIL == email).ToList(); if (ld?.Any() ?? false) { var d = ld.First(); dm = new DipendentiModel() { idDipendente = d.IDDIPENDENTE, matricola = d.MATRICOLA, nome = d.NOME, cognome = d.COGNOME, dataAssunzione = d.DATAASSUNZIONE, dataCessazione = d.DATACESSAZIONE, indirizzo = d.INDIRIZZO, cap = d.CAP, citta = d.CITTA, provincia = d.PROVINCIA, email = d.EMAIL, telefono = d.TELEFONO, fax = d.FAX, abilitato = d.ABILITATO, dataInizioRicalcoli = d.DATAINIZIORICALCOLI, cdcGepe = new CDCGepeModel() { iddipendente = d.CDCGEPE.IDDIPENDENTE, codiceCDC = d.CDCGEPE.CODICECDC, descCDC = d.CDCGEPE.DESCCDC, dataInizioValidita = d.CDCGEPE.DATAINIZIOVALIDITA } }; } return(dm); }
public ActionResult NuovaEmail(decimal idd) { ViewBag.idDipendente = idd; try { DipendentiModel tmp2 = new DipendentiModel(); using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti()) { tmp2 = dtcal.GetDatiUtenzaAutorizzata(idd); } ViewBag.abilitato = tmp2.abilitato; ViewBag.emailPrincipale = tmp2.email; return(PartialView()); } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } }
public ActionResult DipendentiGepe(string matricola = "") { var rMatricola = new List <SelectListItem>(); var rNominativo = new List <SelectListItem>(); bool admin = false; List <DipendentiModel> ldm = new List <DipendentiModel>(); DipendentiModel dm = new DipendentiModel(); AccountModel ac = new AccountModel(); try { admin = Utility.Amministratore(out ac); using (dtDipendenti dtd = new dtDipendenti()) { if (!admin) { ldm.Add(dtd.GetDipendenteByMatricola(Convert.ToInt16(ac.utente))); } else if (matricola != string.Empty && admin == false) { ldm.Add(dtd.GetDipendenteByMatricola(Convert.ToInt16(matricola))); } else { ldm = dtd.GetDipendenti().ToList(); } if (ldm.Count > 0) { foreach (var item in ldm) { rMatricola.Add(new SelectListItem() { Text = item.matricola.ToString(), Value = item.matricola.ToString() }); rNominativo.Add(new SelectListItem() { Text = item.Nominativo + " (" + item.matricola.ToString() + ")", Value = item.matricola.ToString() }); } rMatricola.Insert(0, new SelectListItem() { Text = "", Value = "" }); rNominativo.Insert(0, new SelectListItem() { Text = "", Value = "" }); if (matricola == string.Empty) { rMatricola.First().Selected = true; rNominativo.First().Selected = true; } else { foreach (var item in rMatricola) { if (matricola == item.Value) { item.Selected = true; } } foreach (var item in rNominativo) { if (matricola == item.Value) { item.Selected = true; } } } } } if (matricola != string.Empty) { dm = ldm.Where(a => a.matricola == Convert.ToInt16(matricola)).First(); using (dtCDCGepe dtcdcg = new dtCDCGepe()) { dm.cdcGepe = dtcdcg.GetCDCGepe(dm.idDipendente); } using (dtLivelliDipendente dtpl = new dtLivelliDipendente()) { dm.livelloDipendenteValido = dtpl.GetLivelloDipendente(dm.idDipendente, DateTime.Now.Date); } } //ViewBag.ListDipendentiGepeMatricola = rMatricola.OrderBy(a=>a.Text); ViewBag.ListDipendentiGepeNominativo = rNominativo.OrderBy(a => a.Text); ViewBag.Amministratore = admin; ViewBag.Matricola = dm.matricola; ViewBag.Nominativo = dm.Nominativo; } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(PartialView(dm)); }
public static AccountModel UtenteAutorizzato() { ClaimsPrincipal currentClaimsPrincipal = ClaimsPrincipal.Current; //AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier; AccountModel ac = new AccountModel(); if (currentClaimsPrincipal.Identity.IsAuthenticated) { foreach (Claim claim in currentClaimsPrincipal.Claims) { if (claim.Type == ClaimTypes.NameIdentifier) { ac.idDipendente = Convert.ToDecimal(claim.Value); } else if (claim.Type == ClaimTypes.Name) { ac.nome = claim.Value; } else if (claim.Type == ClaimTypes.Surname) { ac.cognome = claim.Value; } else if (claim.Type == ClaimTypes.GivenName) { ac.utente = claim.Value; } else if (claim.Type == ClaimTypes.Email) { ac.eMail = claim.Value; } else if (claim.Type == ClaimTypes.Role) { ac.idRuoloUtente = Convert.ToDecimal(claim.Value); } } if (ac.idRuoloUtente > 0) { using (ModelDBISE db = new ModelDBISE()) { RUOLOACCESSO ruolo = db.RUOLOACCESSO.Find(ac.idRuoloUtente); if (ruolo != null) { ac.RuoloAccesso = new RuoloAccesoModel() { idRuoloAccesso = ruolo.IDRUOLOACCESSO, descRuoloAccesso = ruolo.DESCRUOLO }; } UTENTIAUTORIZZATI ua = db.UTENTIAUTORIZZATI.Find(ac.idDipendente); DIPENDENTI d = ua.DIPENDENTI; if (d?.IDDIPENDENTE > 0) { ac.idDipendente = d.IDDIPENDENTE; DipendentiModel dm = new DipendentiModel() { idDipendente = d.IDDIPENDENTE, matricola = d.MATRICOLA, nome = d.NOME, cognome = d.COGNOME, dataAssunzione = d.DATAASSUNZIONE, dataCessazione = d.DATACESSAZIONE, indirizzo = d.INDIRIZZO, cap = d.CAP, citta = d.CITTA, provincia = d.PROVINCIA, email = d.EMAIL, telefono = d.TELEFONO, fax = d.FAX, abilitato = d.ABILITATO, dataInizioRicalcoli = d.DATAINIZIORICALCOLI }; ac.Dipendenti = dm; } } } } return(ac); }
//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); } } }