Example #1
0
        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;
        }
Example #2
0
        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() + "$";
        }
Example #3
0
        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);
        }
Example #4
0
        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();
            }
        }
Example #5
0
        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();
            }
        }
Example #6
0
        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;
            }
        }
Example #7
0
        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);
        }
Example #8
0
        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;
        }
Example #9
0
        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;
            }
        }
Example #10
0
        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;
            }
        }
Example #11
0
        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;
            }
        }
Example #12
0
        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;
            }
        }
Example #13
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
                        }));
                    }
                }
            }
        }
Example #14
0
        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);
                }
            }
        }