コード例 #1
0
        public NpceOperationResult Execute()
        {
            var helper = new Helper();

            _proxy = helper.GetProxy <LOLServiceSoap>(_ambiente.LolUri, _ambiente.Username, _ambiente.Password);

            LOLSubmit lolSubmit = new LOLSubmit();

            SetMittente(lolSubmit);
            SetDestinatari(lolSubmit);
            SetDocumenti(lolSubmit);
            SetOpzioni(lolSubmit);
            if (_servizio.TipoServizio.Descrizione == "Posta1")
            {
                SetPosta1(lolSubmit);
            }

            if (_servizio.PagineBollettini != null && _servizio.PagineBollettini.Count() > 0)
            {
                SetBollettini(lolSubmit);
            }


            var fake    = new OperationContextScope((IContextChannel)_proxy);
            var headers = GetHttpHeaders(_ambiente);

            OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = headers;
            //OperationContext.Current.Channel.OperationTimeout = TimeSpan.FromMinutes(2);

            var invioResult = _proxy.Invio(_idRichiesta, string.Empty, lolSubmit);

            return(CreateResult(NpceOperation.Invio, invioResult.CEResult.Code, invioResult.CEResult.Code, invioResult.IDRichiesta, null, invioResult.GuidUtente));
        }
コード例 #2
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;
        }
コード例 #3
0
ファイル: FE_LOL.cs プロジェクト: pmacri/NPCE_Client
        private InvioResult InviaLOL(string idRichiesta, LOLSubmit invioLol)
        {
            var proxy = GetProxy <LOLServiceSoap>(ambiente.LolUri);
            var fake  = new OperationContextScope((IContextChannel)proxy);
            HttpRequestMessageProperty headers = GetHttpHeaders(ambiente);

            OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = headers;

            var result = proxy.Invio(idRichiesta, "CLIENTE", invioLol);

            return(result);
        }
コード例 #4
0
        private void SetDocumenti(LOLSubmit lolSubmit)
        {
            Services.Lol.Documento newDocumento;
            var listDocumenti = new List <reference.Documento>();

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

            lolSubmit.Documento = listDocumenti.ToArray();
        }
コード例 #5
0
        private void SetOpzioni(LOLSubmit lolSubmit)
        {
            var opzioni = new LOLSubmitOpzioni();

            opzioni.OpzionidiStampa = new OpzionidiStampa
            {
                PageSize    = OpzionidiStampaPageSize.A4,
                FronteRetro = GetFronteRetroDescription(_servizio.FronteRetro),
                BW          = _servizio.Colore ? "false" : "true"
            };

            lolSubmit.Opzioni = opzioni;
        }
コード例 #6
0
        private void SetDocumenti(LOLSubmit lolSubmit)
        {

            ServiceReference.LOL.Documento newDocumento;
            var listDocumenti = new List<ServiceReference.LOL.Documento>();

            foreach (var documento in Servizio.ServizioDocumenti.Select(sd => sd.Documento).ToList())
            {
                newDocumento = NewDocumento(documento);
                listDocumenti.Add(newDocumento);
            }

            lolSubmit.Documento = listDocumenti.ToArray();
        }
コード例 #7
0
        private void SetBollettini(LOLSubmit lolSubmit)
        {
            List <reference.PaginaBollettino> pagineBollettiniList = new List <reference.PaginaBollettino>();

            List <reference.PaginaDueBollettini> pagineDueBollettiniList = new List <reference.PaginaDueBollettini>();

            foreach (var paginaBollettino in _servizio.PagineBollettini)
            {
                CreatePaginaBollettino(paginaBollettino, pagineBollettiniList, pagineDueBollettiniList);
            }

            List <reference.PaginaBollettinoBase> finalBollettiniList = new List <reference.PaginaBollettinoBase>();

            finalBollettiniList.AddRange(pagineBollettiniList);
            finalBollettiniList.AddRange(pagineDueBollettiniList);

            lolSubmit.PagineBollettini = finalBollettiniList.ToArray();
        }
コード例 #8
0
        //private string GetMD5(Model.Documento documento)
        //{
        //    using (System.Security.Cryptography.MD5CryptoServiceProvider cryptoService = new System.Security.Cryptography.MD5CryptoServiceProvider())
        //    {
        //        byte[] Ret = cryptoService.ComputeHash(documento.Content);
        //        return BitConverter.ToString(Ret).Replace("-", "");
        //    }
        //}

        private void SetDestinatari(LOLSubmit lolSubmit)
        {
            int count = 0;

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

            var listDestinatari = new List <Destinatario>();

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

            lolSubmit.Destinatari = listDestinatari.ToArray();

            lolSubmit.NumeroDestinatari = count;
        }
コード例 #9
0
        public async Task<NPCEResult> InviaAsync()
        {
            LOLSubmit lolSubmit = new LOLSubmit();
            SetMittente(lolSubmit);
            SetDestinatari(lolSubmit);
            SetDocumenti(lolSubmit);
            SetOpzioni(lolSubmit);

            if (Servizio?.TipoServizioId == (int)TipoServizioId.POSTA1)
            {
                SetPosta1(lolSubmit);
            }

            string idRichiesta = RecuperaIdRichiesta();


            var invioResult = await _proxy.InvioAsync(idRichiesta, string.Empty, lolSubmit);

            return invioResult.CreateResult();

        }
コード例 #10
0
 private void SetPosta1(LOLSubmit lolSubmit)
 {
     lolSubmit.DescrizioneLettera = new DescrizioneLettera {
         TipoLettera = "Posta1"
     };
 }