示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }