Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        public JsonResult EsisteEmailSecondarie(decimal idDipendente, string email)
        {
            bool ok = false;

            using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
            {
                ok = dtcal.EmailSecondariaGiaInserita(idDipendente, email);
            }
            return(Json(new { success = !ok }));
        }
Exemplo n.º 3
0
        public JsonResult EmailValida(string email)
        {
            bool ok = false;

            using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
            {
                ok = dtcal.emailIsValid(email);
            }
            return(Json(new { success = ok }));
        }
Exemplo n.º 4
0
 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;
     }
 }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        public ActionResult EliminaEmail(decimal idEmailSec, decimal idd)
        {
            List <EmailSecondarieDipModel> tmp = new List <EmailSecondarieDipModel>();

            using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
            {
                dtcal.DelEmail(idEmailSec);
                tmp = dtcal.GetListaEmailSecondarioDip(idd);
                ViewBag.idDipendente = idd;
                AggiornaViewBag(idd);
            }
            return(PartialView("ElencoEmailSecondarioDip", tmp));
        }
Exemplo n.º 7
0
        public ActionResult VisualizzaEmailSecondaria(decimal idEmailSec, decimal idDipendente)
        {
            ViewBag.idDipendente = idDipendente;
            ViewBag.idEmailSec   = idEmailSec;
            EmailSecondarieDipModel tmp2 = new EmailSecondarieDipModel();

            using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
            {
                tmp2             = dtcal.GetDatiEmailSecondaria(idEmailSec);
                ViewBag.attivato = tmp2.Attiva;
            }
            ViewBag.Attiva = tmp2.Attiva;
            return(PartialView(tmp2));
        }
Exemplo n.º 8
0
        public ActionResult ModificaStatoDipendente(bool abilitato, decimal idDipendente)
        {
            List <DipendentiModel>        tmp  = new List <DipendentiModel>();
            List <UtentiAutorizzatiModel> tmp2 = new List <UtentiAutorizzatiModel>();

            using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
            {
                dtcal.EditStatoDipendente(abilitato, idDipendente);
                tmp2 = dtcal.GetDipendentiAutorizzati();
                tmp  = dtcal.GetUtenzeAutorizzate(tmp2).OrderBy(b => b.cognome).ToList();
                AggiornaViewBag(idDipendente);
            }
            return(PartialView("ElencoUtenzeDipendenti", tmp));
        }
Exemplo n.º 9
0
        //
        public ActionResult ModificaStatoEmailSecondaria(bool attiva, decimal idEmailSec, decimal idDipendente)
        {
            ViewBag.idEmailSec = idEmailSec;
            List <EmailSecondarieDipModel> tmp = new List <EmailSecondarieDipModel>();

            //List<UtentiAutorizzatiModel> tmp2 = new List<UtentiAutorizzatiModel>();
            using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
            {
                dtcal.EditStatoEmailSecondaria(attiva, idEmailSec);
                tmp = dtcal.GetListaEmailSecondarioDip(idDipendente);
                //  tmp = dtcal.GetUtenzeAutorizzate(tmp2).OrderBy(b => b.cognome).ToList();
            }
            AggiornaViewBag(idDipendente);
            return(PartialView("ElencoEmailSecondarioDip", tmp));
        }
Exemplo n.º 10
0
        public ActionResult AggiungiEmail(string newmail, decimal idd)
        {
            List <EmailSecondarieDipModel> tmp = new List <EmailSecondarieDipModel>();
            bool ok = false;

            using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
            {
                ok  = dtcal.AddMail(newmail, idd);
                tmp = dtcal.GetListaEmailSecondarioDip(idd);
                ViewBag.idDipendente = idd;
                AggiornaViewBag(idd);
            }
            //   return PartialView("ElencoEmailSecondarioDip", tmp);
            //  return RedirectToAction("ElencoEmailSecondarioDip",new {idDipendente= idd });
            return(Json(new { success = true }));
        }
Exemplo n.º 11
0
        public ActionResult ElencoUtenzeDipendenti()
        {
            List <DipendentiModel>        tmp  = new List <DipendentiModel>();
            List <UtentiAutorizzatiModel> tmp2 = new List <UtentiAutorizzatiModel>();

            try
            {
                using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
                {
                    tmp2 = dtcal.GetDipendentiAutorizzati();
                    tmp  = dtcal.GetUtenzeAutorizzate(tmp2).OrderBy(b => b.cognome).ToList();
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }
            return(PartialView(tmp));
        }
Exemplo n.º 12
0
        public ActionResult InserisciEmailSecondaria(EmailSecondarieDipModel esdm)
        {
            ViewBag.idDipendente = esdm.idDipendente;
            List <EmailSecondarieDipModel> tmp = new List <EmailSecondarieDipModel>();
            bool ok = false;

            if (ModelState.IsValid)
            {
                using (dtUtenzeDipendenti dtcal = new dtUtenzeDipendenti())
                {
                    ok  = dtcal.AddMail(esdm.Email, esdm.idDipendente);
                    tmp = dtcal.GetListaEmailSecondarioDip(esdm.idDipendente);
                    AggiornaViewBag(esdm.idDipendente);
                }
                return(PartialView("ElencoEmailSecondarioDip", tmp));
            }
            else
            {
                return(PartialView("NuovaEmail", esdm));
                //return Json(new { esistente = ok });
            }
        }
Exemplo n.º 13
0
 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
         }));
     }
 }
Exemplo n.º 14
0
        //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
                        }));
                    }
                }
            }
        }