List <SelectListItem> TuttiDestinatari() { var r = new List <SelectListItem>(); UtentiAutorizzatiModel uta = null; List <DipendentiModel> dm = new List <DipendentiModel>(); decimal idMittenteLogato = Utility.UtenteAutorizzato().idDipendente; using (dtNotifiche dtn = new dtNotifiche()) { uta = dtn.RestituisciAutorizzato(idMittenteLogato); if (uta.idRouloUtente == (decimal)EnumRuoloAccesso.Utente) { dm.AddRange(dtn.GetListaDipendentiAutorizzati((decimal)EnumRuoloAccesso.Amministratore)); } if (uta.idRouloUtente == (decimal)EnumRuoloAccesso.Amministratore) { dm.AddRange(dtn.GetListaDipendentiAutorizzati((decimal)EnumRuoloAccesso.Utente)); } if (dm.Count > 0) { r = (from t in dm where !string.IsNullOrEmpty(t.email) && t.email.Trim() != "" orderby t.nome select new SelectListItem() { Text = t.nome + " " + t.cognome, //Value = t.email Value = t.idDipendente.ToString() }).ToList(); } } return(r); }
public bool InsertNotifiche(NotificheModel NM, ModelDBISE db, out bool tutti) { tutti = false; List <DESTINATARI> listDest = new List <DESTINATARI>(); decimal idMittenteLogato = Utility.UtenteAutorizzato().idDipendente; using (dtNotifiche dtn = new dtNotifiche()) { // dtn.RestituisciAutorizzato(idMittenteLogato); string[] ld = NM.lDestinatari; //DestinatarioModel dm = new DestinatarioModel(); //List<DestinatarioModel> destMod = new List<DestinatarioModel>(); if (ld.Length == 1 && ld[0].ToUpper() == "TUTTI") { tutti = true; UtentiAutorizzatiModel uta = dtn.RestituisciAutorizzato(idMittenteLogato); var tmp = new List <SelectListItem>(); if (uta.idRouloUtente == (decimal)EnumRuoloAccesso.Amministratore) { tmp = GetListaTUTTI((decimal)EnumRuoloAccesso.Utente); } if (uta.idRouloUtente == (decimal)EnumRuoloAccesso.Utente) { tmp = GetListaTUTTI((decimal)EnumRuoloAccesso.Amministratore); } //tmp = GetListaTUTTI(uta.idRouloUtente);// TuttiDestinatari(); foreach (var x in tmp) { DESTINATARI d = new DESTINATARI(); d.IDNOTIFICA = NM.idNotifica; d.IDDIPENDENTE = Convert.ToDecimal(x.Value);// RestituisciIDdestinatarioDaEmail(x.Value); listDest.Add(d); } } else { foreach (string email in ld) { DESTINATARI d = new DESTINATARI(); d.IDNOTIFICA = NM.idNotifica; d.IDDIPENDENTE = Convert.ToDecimal(email);// RestituisciIDdestinatarioDaEmail(email); listDest.Add(d); } } //if (NM.toCc != null) //{ List <DESTINATARI> listToCc = new List <DESTINATARI>(); string[] lToCc = NM.toCc; foreach (string email in lToCc) { if (email != "null") { DESTINATARI dcc = new DESTINATARI(); dcc.IDNOTIFICA = NM.idNotifica; dcc.IDDIPENDENTE = Convert.ToDecimal(email);// RestituisciIDdestinatarioDaEmail(email); dcc.TOCC = true; listDest.Add(dcc); } } } if (listDest.Count != 0) { //try //{ NOTIFICHE nuovo = new NOTIFICHE(); nuovo.IDMITTENTE = NM.idMittente; nuovo.CORPOMESSAGGIO = NM.corpoMessaggio; nuovo.DATANOTIFICA = DateTime.Now; nuovo.OGGETTO = NM.Oggetto; nuovo.DESTINATARI = listDest; nuovo.ALLEGATO = NM.Allegato; nuovo.NOMEDOCUMENTO = NM.NomeFile; nuovo.ESTENSIONEDOC = NM.Estensione; //db.Database.BeginTransaction(); db.NOTIFICHE.Add(nuovo); if (db.SaveChanges() <= 0) { throw new Exception("Errore in fase di inserimento notifica"); } //db.Database.CurrentTransaction.Commit(); NM.idNotifica = nuovo.IDNOTIFICA; //} //catch (Exception ex) //{ // //db.Database.CurrentTransaction.Rollback(); // throw ex; // //return false; //} } if (listDest.Count != 0) { return(true); } else { return(false); } }