Esempio n. 1
0
        public override NPCEResult Invia()
        {
            LetteraSubmit letteraBE = SetLetteraSubmit();

            letteraBE.IdRichiesta = IdRichiesta;
            LetteraResponse letteraResult = null;

            CE.Body = SerializationUtility.SerializeToXmlElement(letteraBE);


            try
            {
                var ce = CE;;
                WsCEClient.SubmitRequest(ref ce);
                try
                {
                    letteraResult = SerializationUtility.Deserialize <LetteraResponse>(ce.Body);

                    return(letteraResult.CreateResult(ce));
                }
                catch (Exception ex)
                {
                    throw (ex);
                }
            }
            finally
            {
                WsCEClient.InnerChannel.Close();
            }
        }
Esempio n. 2
0
        public async override Task <NPCEResult> InviaAsync()
        {
            LetteraSubmit letteraBE = SetLetteraSubmit();

            letteraBE.IdRichiesta = IdRichiesta;
            LetteraResponse letteraResult = null;


            CE.Header.GUIDMessage = IdRichiesta;


            CE.Body = SerializationUtility.SerializeToXmlElement(letteraBE);

            try
            {
                SubmitRequestRequest request = new SubmitRequestRequest(CE);
                var response = await WsCEClient.SubmitRequestAsync(request);

                try
                {
                    letteraResult = SerializationUtility.Deserialize <LetteraResponse>(response.CE.Body);

                    return(letteraResult.CreateResult(response.CE));
                }
                catch (Exception ex)
                {
                    throw (ex);
                }
            }
            finally
            {
                WsCEClient.InnerChannel.Close();
            }
        }
Esempio n. 3
0
        private void SetMittente(LetteraSubmit letteraBE)
        {
            var mittenteServizio = Servizio.ServizioAnagrafiche.Where(d => d.IsMittente == true).FirstOrDefault();
            var mittente         = new ComunicazioniElettroniche.LOL.Web.BusinessEntities.InvioSubmitLOL.Mittente();

            var nominativo = new ComunicazioniElettroniche.LOL.Web.BusinessEntities.InvioSubmitLOL.Nominativo
            {
                Nome      = mittenteServizio.Anagrafica.Nome,
                Cognome   = mittenteServizio.Anagrafica.Cognome,
                Indirizzo = new ComunicazioniElettroniche.LOL.Web.BusinessEntities.InvioSubmitLOL.Indirizzo
                {
                    DUG          = mittenteServizio.Anagrafica.DUG,
                    Toponimo     = mittenteServizio.Anagrafica.Toponimo,
                    Esponente    = mittenteServizio.Anagrafica.Esponente,
                    NumeroCivico = mittenteServizio.Anagrafica.NumeroCivico
                },
                CAP                   = mittenteServizio.Anagrafica.Cap,
                CasellaPostale        = mittenteServizio.Anagrafica.CasellaPostale,
                Citta                 = mittenteServizio.Anagrafica.Citta,
                ComplementoIndirizzo  = mittenteServizio.Anagrafica.ComplementoIndirizzo,
                ComplementoNominativo = mittenteServizio.Anagrafica.ComplementoNominativo,
                Provincia             = mittenteServizio.Anagrafica.Provincia,
                Stato                 = mittenteServizio.Anagrafica.Stato,
                RagioneSociale        = mittenteServizio.Anagrafica.RagioneSociale
            };

            mittente.Nominativo = nominativo;

            letteraBE.Mittente = mittente;
        }
Esempio n. 4
0
        public override NpceOperationResult Invio()
        {
            CE ce = GetCE();

            LetteraSubmit letteraBE = SetLetteraBE();

            letteraBE.IdRichiesta = _idRichiesta;
            LetteraResponse letteraResult = null;

            ce.Body = SerializationUtility.SerializeToXmlElement(letteraBE);

            using (WsCEClient client = new WsCEClient())
            {
                client.Endpoint.Address = new System.ServiceModel.EndpointAddress(_ambiente.LolUri);
                client.SubmitRequest(ref ce);
                try
                {
                    letteraResult = SerializationUtility.Deserialize <LetteraResponse>(ce.Body);
                }
                catch (Exception ex)
                {
                    throw (ex);
                }
            }

            return(CreateResult(NpceOperation.Invio, ce.Result.ResType == TResultResType.I ? "0" : "99", ce.Result.Description?.Substring(0, Math.Min(ce.Result.Description.Length, 500)) ?? "Invio Ok", letteraResult.IdRichiesta, null, null));
        }
Esempio n. 5
0
 private void SetPosta1(LetteraSubmit lolSubmit)
 {
     if (Servizio?.TipoServizioId == (int)TipoServizioId.POSTA1)
     {
         lolSubmit.Tipo = "LOL_PRO";
     }
     else
     {
         lolSubmit.Tipo = "LOL";
     }
 }
Esempio n. 6
0
 private void SetPosta1(LetteraSubmit lolSubmit)
 {
     if (_servizio.TipoServizio.Descrizione == "Posta1")
     {
         lolSubmit.Tipo = "LOL_PRO";
     }
     else
     {
         lolSubmit.Tipo = "LOL";
     }
 }
Esempio n. 7
0
        private static void SetOpzioniStampa(LetteraSubmit letteraBE)
        {
            var tipoStampa  = (letteraBE.Opzioni == null || letteraBE.Opzioni.OpzionidiStampa == null) ? OpzionidiStampaTipoStampa.BW : OpzionidiStampaTipoStampa.Color;
            var fronteRetro = (letteraBE.Opzioni == null || letteraBE.Opzioni.OpzionidiStampa == null) ? false : letteraBE.Opzioni.OpzionidiStampa.FronteRetro;

            letteraBE.Opzioni = letteraBE.Opzioni ?? new Opzioni();
            letteraBE.Opzioni.OpzionidiStampa = new OpzionidiStampa
            {
                FronteRetro = fronteRetro,
                TipoStampa  = tipoStampa
            };
        }
Esempio n. 8
0
        private LetteraSubmit SetLetteraBE()
        {
            LetteraSubmit letteraBE = new LetteraSubmit();

            letteraBE.NumeroDestinatari = _servizio.Anagrafiche.Where(d => d.IsMittente == false).Count();
            SetOpzioni(letteraBE);
            SetMittente(letteraBE);
            SetDestinatari(letteraBE);
            SetDocumenti(letteraBE);
            SetPosta1(letteraBE);

            return(letteraBE);
        }
Esempio n. 9
0
        private void SetDocumenti(LetteraSubmit lolSubmit)
        {
            LetteraSubmitDocumento newDocumento;
            var listDocumenti = new List <LetteraSubmitDocumento>();

            //foreach (var documento in _servizio.Documenti)
            //{
            newDocumento = NewDocumento();
            listDocumenti.Add(newDocumento);
            //}

            lolSubmit.Documenti = listDocumenti;
        }
Esempio n. 10
0
        private void SetOpzioni(LetteraSubmit letteraBE)
        {
            var opzioni = new Opzioni();

            opzioni.DataStampa = DateTime.Now;

            opzioni.ArchiviazioneDocumenti = Servizio.TipoArchiviazione;

            if (Servizio.AnniArchiviazione > 0)
            {
                opzioni.AnniArchiviazione          = Servizio.AnniArchiviazione;
                opzioni.AnniArchiviazioneSpecified = true;
            }

            letteraBE.Opzioni = opzioni;
        }
Esempio n. 11
0
        private void SetOpzioni(LetteraSubmit letteraBE)
        {
            var opzioni = new ComunicazioniElettroniche.LOL.Web.BusinessEntities.InvioSubmitLOL.Opzioni();

            opzioni.DataStampa = DateTime.Now;

            opzioni.ArchiviazioneDocumenti = _servizio.TipoArchiviazione;

            if (_servizio.AnniArchiviazione > 0)
            {
                opzioni.AnniArchiviazione          = _servizio.AnniArchiviazione;
                opzioni.AnniArchiviazioneSpecified = true;
            }

            letteraBE.Opzioni = opzioni;
        }
Esempio n. 12
0
        private void SetDestinatari(LetteraSubmit lolSubmit)
        {
            int count = 0;

            var destinatariServizioList = Servizio.ServizioAnagrafiche.Where(d => d.IsMittente == false).Select(d => d.Anagrafica).ToList();

            var listDestinatari = new List <ComunicazioniElettroniche.LOL.Web.BusinessEntities.InvioSubmitLOL.LetteraDestinatario>();

            foreach (var destinatarioServizio in destinatariServizioList)
            {
                count++;
                ComunicazioniElettroniche.LOL.Web.BusinessEntities.InvioSubmitLOL.LetteraDestinatario newDestinatario = NewDestinatario(destinatarioServizio, lolSubmit);
                listDestinatari.Add(newDestinatario);
            }

            lolSubmit.LetteraDestinatario = listDestinatari.ToArray();

            lolSubmit.NumeroDestinatari = count;
        }
Esempio n. 13
0
        private void SetDestinatari(LetteraSubmit lolSubmit)
        {
            int count = 0;

            var destinatariServizioList = _servizio.Anagrafiche.Where(d => d.IsMittente == false).ToList();

            var listDestinatari = new List <LetteraDestinatario>();

            foreach (var destinatarioServizio in destinatariServizioList)
            {
                count++;
                LetteraDestinatario newDestinatario = NewDestinatario(destinatarioServizio, lolSubmit);
                listDestinatari.Add(newDestinatario);
            }

            lolSubmit.LetteraDestinatario = listDestinatari.ToArray();

            lolSubmit.NumeroDestinatari = count;
        }
Esempio n. 14
0
        private LetteraDestinatario NewDestinatario(Anagrafica destinatarioServizio, LetteraSubmit lolSubmit)
        {
            var destinatario = new LetteraDestinatario();

            var nominativo = new Nominativo
            {
                Nome      = destinatarioServizio.Nome,
                Cognome   = destinatarioServizio.Cognome,
                Indirizzo = new Indirizzo
                {
                    DUG          = destinatarioServizio.DUG,
                    Toponimo     = destinatarioServizio.Toponimo,
                    Esponente    = destinatarioServizio.Esponente,
                    NumeroCivico = destinatarioServizio.NumeroCivico
                },
                CAP                   = destinatarioServizio.Cap,
                CasellaPostale        = destinatarioServizio.CasellaPostale,
                Citta                 = destinatarioServizio.Citta,
                ComplementoIndirizzo  = destinatarioServizio.ComplementoIndirizzo,
                ComplementoNominativo = destinatarioServizio.ComplementoNominativo,
                Provincia             = destinatarioServizio.Provincia,
                Stato                 = destinatarioServizio.Stato,
                RagioneSociale        = destinatarioServizio.RagioneSociale
            };


            // TODO
            destinatario.IdLettera = lolSubmit.IdRichiesta;

            int countDestinatari = (lolSubmit.LetteraDestinatario == null) ? 0 : lolSubmit.LetteraDestinatario.Count();

            destinatario.NumeroDestinatarioCorrente = countDestinatari + 1;

            destinatario.Destinatario = new Destinatario();

            destinatario.Destinatario.Nominativo = nominativo;

            return(destinatario);
        }
Esempio n. 15
0
 private void SetDocumenti(LetteraSubmit lolSubmit)
 {
     lolSubmit.Documenti = GetDocumenti();
 }