Exemplo n.º 1
0
        public void Invio_COL1_AutoConferma_False_Caratteri_Accentati()
        {
            InvioRequest colSubmit = GetColFEInvio();

            colSubmit.PostaContest.Destinatari[0].Indirizzo = "ÀÈÌÒÙÁÉÍÓÚÇÑÄÖÜß";


            colSubmit.PostaContest.AutoConferma = false;

            IPostaContestService _proxy = GetProxy <IPostaContestService>(ambiente.ColUri);

            var fake = new OperationContextScope((IContextChannel)_proxy);

            HttpRequestMessageProperty headers = GetHttpHeaders(ambiente, "COL");

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

            colSubmit.PostaContest.Bollettini   = null;
            colSubmit.PostaContest.BollettinoPA = null;

            var invioResult = _proxy.Invio(colSubmit);

            Assert.IsTrue(invioResult.Esito == EsitoPostaEvo.OK);

            string idRichiesta = invioResult.IdRichiesta;

            Assert.IsTrue(CheckStatusPostaEvo(idRichiesta, "K", TimeSpan.FromMinutes(2), TimeSpan.FromSeconds(10)));
        }
Exemplo n.º 2
0
        public void Invio_MOL1_AutoConferma_True()
        {
            InvioRequest molSubmit = GetMolFEInvio();

            molSubmit.MarketOnline.BollettinoPA = null;

            molSubmit.MarketOnline.AutoConferma = true;

            IRaccomandataMarketService _proxy = GetProxy <IRaccomandataMarketService>(ambiente.MolUri);

            var fake = new OperationContextScope((IContextChannel)_proxy);

            HttpRequestMessageProperty headers = GetHttpHeaders(ambiente);

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

            molSubmit.MarketOnline.Bollettini = null;

            var invioResult = _proxy.Invio(molSubmit);

            Assert.IsTrue(invioResult.Esito == EsitoPostaEvo.OK);

            string idRichiesta = invioResult.IdRichiesta;

            Assert.IsTrue(CheckStatusPostaEvo(idRichiesta, "L", TimeSpan.FromMinutes(3), TimeSpan.FromSeconds(10)));
        }
Exemplo n.º 3
0
        private void ColInvioConferma()
        {
            InvioRequest colSubmit = GetColFEInvio();

            colSubmit.PostaContest.AutoConferma = true;

            IPostaContestService _proxy = GetProxy <IPostaContestService>(ambiente.ColUri);

            var fake = new OperationContextScope((IContextChannel)_proxy);

            HttpRequestMessageProperty headers = GetHttpHeaders(ambiente, "COL");

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

            colSubmit.PostaContest.Bollettini   = null;
            colSubmit.PostaContest.BollettinoPA = null;

            //colSubmit.PostaContest.Opzioni = new Opzioni();

            //colSubmit.PostaContest.Opzioni.Servizio = new OpzioniServizio { TipoArchiviazioneDocumenti = "STORICA", AnniArchiviazione = "6" };

            var invioResult = _proxy.Invio(colSubmit);

            Assert.IsTrue(invioResult.Esito == EsitoPostaEvo.OK);

            string idRichiesta = invioResult.IdRichiesta;

            Assert.IsTrue(CheckStatusPostaEvo(idRichiesta, "L", TimeSpan.FromMinutes(3), TimeSpan.FromSeconds(10)));
        }
Exemplo n.º 4
0
        public NpceOperationResult Invio()
        {
            SetHeaders();
            invioRequest = new InvioRequest();
            SetDocumento(invioRequest); // e Intestatario
            SetDestinatario(invioRequest);
            SetRichiedente(invioRequest);
            var invioResult = proxy.Invio(invioRequest);
            var errors      = new List <Error>();

            foreach (var err in invioResult.Errori)
            {
                errors.Add(new Error
                {
                    Code        = err.Codice.ToString(),
                    Description = err.Messaggio.ToString()
                });
            }

            return(new NpceOperationResult
            {
                Success = invioResult.Esito == EsitoPostaEvo.OK,
                IdRichiesta = invioResult.IdRichiesta,
                ErrorMessage = invioResult.Esito != EsitoPostaEvo.OK ? invioResult.Errori[0].Messaggio.ToString() : string.Empty,
                Errors = errors,
                IdOrdine = invioResult.IdTicket
            });
        }
Exemplo n.º 5
0
        public void Invio_MOL1_Caratteri_Accentati_AutoConferma_False()
        {
            InvioRequest molSubmit = GetMolFEInvio();

            molSubmit.MarketOnline.Bollettini   = null;
            molSubmit.MarketOnline.BollettinoPA = null;


            molSubmit.MarketOnline.Destinatari[0].Indirizzo = "ÀÈÌÒÙÁÉÍÓÚÇÑÄÖÜß";

            molSubmit.MarketOnline.AutoConferma = false;

            IRaccomandataMarketService _proxy = GetProxy <IRaccomandataMarketService>(ambiente.MolUri);

            var fake = new OperationContextScope((IContextChannel)_proxy);

            HttpRequestMessageProperty headers = GetHttpHeaders(ambiente);

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

            molSubmit.MarketOnline.Bollettini = null;

            var invioResult = _proxy.Invio(molSubmit);

            Assert.IsTrue(invioResult.Esito == EsitoPostaEvo.OK);

            string idRichiesta = invioResult.IdRichiesta;

            Debug.WriteLine(idRichiesta);

            if (!ambiente.FromIAM)
            {
                Assert.IsTrue(CheckStatusPostaEvo(idRichiesta, "K", TimeSpan.FromMinutes(2), TimeSpan.FromSeconds(10)));
            }
        }
Exemplo n.º 6
0
        public void SerializeMolInvio()
        {
            InvioRequest  invio      = GetMolInvio();
            var           types      = new Type[] { typeof(Bollettino896) };
            XmlSerializer serializer = new XmlSerializer(typeof(InvioRequest), types);

            serializer.Serialize(new FileStream("\\temp\\invio.xml", FileMode.Create, FileAccess.ReadWrite), invio);
        }
Exemplo n.º 7
0
 private void SetDestinatario(InvioRequest invioRequest)
 {
     invioRequest.Destinatario = new Destinatario
     {
         CAP          = _visura.DestinatarioCap,
         Email        = _visura.DestinatarioEmail,
         Indirizzo    = _visura.RichiedenteIndirizzo,
         Localita     = _visura.DestinatarioLocalita,
         Nominativo   = _visura.DestinatarioNominativo,
         TipoRecapito = MapTipoRecapito(_visura.VisureTipoRecapitoId)
     };
 }
Exemplo n.º 8
0
 private void SetRichiedente(InvioRequest invioRequest)
 {
     invioRequest.Richiedente = new Richiedente
     {
         CAP              = _visura.RichiedenteCap,
         Cognome          = _visura.RichiedenteCognome,
         Nome             = _visura.RichiedenteNome,
         Indirizzo        = _visura.RichiedenteIndirizzo,
         Localita         = _visura.RichiedenteLocalita,
         Telefono         = _visura.RichiedenteTelefono,
         TelefonoPrefisso = _visura.RichiedentePrefissoTelefono
     };
 }
Exemplo n.º 9
0
        private void SetDocumento(InvioRequest invioRequest)
        {
            Documento documento = new Documento();

            documento.CodiceDocumento = MapCodiceDocumento(_visura.VisureCodiceDocumentoId);
            documento.TipoDocumento   = MapTipoDocumento(_visura.VisureTipoDocumentoId);
            documento.Formato         = MapFormato(_visura.VisureFormatoDocumentoId);
            // TODO
            documento.Bollo        = true;
            documento.Chiusura     = string.Empty;
            documento.Intestatario = MapIntestatatario(_visura);
            invioRequest.Documento = documento;
        }
Exemplo n.º 10
0
        public void Invio_MOL1_Autoconferma_False()
        {
            InvioRequest molSubmit = GetMolInvio();

            IRaccomandataMarketService _proxy = GetProxy <IRaccomandataMarketService>(ambiente.MolUri, ambiente.Username, ambiente.Password);

            var fake = new OperationContextScope((IContextChannel)_proxy);

            HttpRequestMessageProperty headers = GetHttpHeaders(ambiente);

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

            var invioResult = _proxy.Invio(molSubmit);

            Assert.IsTrue(invioResult.Esito == EsitoPostaEvo.OK);

            string idRichiesta = invioResult.IdRichiesta;

            Assert.IsTrue(CheckStatusPostaEvo(idRichiesta, "K", TimeSpan.FromMinutes(2), TimeSpan.FromSeconds(20)));
        }
Exemplo n.º 11
0
        public void Invio_MOL1_BollettinoPA_AutoConferma_False()
        {
            InvioRequest molSubmit = GetMolFEInvio();

            molSubmit.MarketOnline.Bollettini = null;

            molSubmit.MarketOnline.AutoConferma = false;

            IRaccomandataMarketService _proxy = GetProxy <IRaccomandataMarketService>(ambiente.MolUri);

            var fake = new OperationContextScope((IContextChannel)_proxy);

            HttpRequestMessageProperty headers = GetHttpHeaders(ambiente);

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


            var invioResult = _proxy.Invio(molSubmit);

            Assert.IsTrue(invioResult.Esito == EsitoPostaEvo.OK);

            string idRichiesta = invioResult.IdRichiesta;
        }
Exemplo n.º 12
0
        public NpceOperationResult Execute()
        {
            var helper = new Helper();

            _proxy = helper.GetProxy <IRaccomandataMarketService>(_ambiente.MolUri, _ambiente.Username, _ambiente.Password);
            InvioRequest molSubmit = new InvioRequest();

            molSubmit.Intestazione = new Intestazione {
                CodiceContratto = _ambiente.ContrattoMOL, Prodotto = ProdottoPostaEvo.MOL1
            };

            var marketOnLine = new MarketOnline();

            marketOnLine.AutoConferma = _servizio.Autoconferma;

            SetIntestazione(marketOnLine);
            SetMittente(marketOnLine);
            SetDestinatari(marketOnLine);
            SetDocumenti(marketOnLine);
            SetOpzioni(marketOnLine);
            if (_servizio.Anagrafiche.Any(d => d.IsDestinatarioAR))
            {
                SetDestinatariAr(marketOnLine);
            }

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

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

            molSubmit.MarketOnline = marketOnLine;

            var invioResult = _proxy.Invio(molSubmit);

            return(CreateResult(NpceOperation.Invio, invioResult.Esito.ToString() == "OK" ? "0" : "99", invioResult.Esito.ToString(), invioResult.IdRichiesta, null, null));
        }
Exemplo n.º 13
0
        public static InvioRequest GetMolInvio(Ambiente ambiente)
        {
            string codiceContratto = ambiente.ContrattoMOL;
            var    invio           = new InvioRequest();

            invio.MarketOnline = new MarketOnline();
            invio.MarketOnline.AutoConferma = true;

            invio.MarketOnline.Mittente = new Mittente
            {
                Cap = "05100",
                ComplementoIndirizzo  = "Complemento Indirizzo",
                ComplementoNominativo = "ComplementoNominativo",
                Comune     = "ROMA",
                Indirizzo  = "Viale Europa 187",
                Nazione    = "ITALIA",
                Nominativo = "DITTA MARKET",
                Provincia  = "RM"
            };

            var destinatario = new Destinatario
            {
                Cap = "05100",
                ComplementoIndirizzo  = "Complemento Indirizzo",
                ComplementoNominativo = "ComplementoNominativo",
                Comune     = "ROMA",
                Indirizzo  = "Viale Europa 187",
                Nazione    = "ITALIA",
                Nominativo = "Nominativo",
                Provincia  = "RM"
            };

            invio.MarketOnline.Destinatari = new Destinatario[] { destinatario };

            var docPath = Path.Combine(Directory.GetCurrentDirectory(), "Documenti", "Docx_1_Pagina.docx");
            var content = File.ReadAllBytes(docPath);

            invio.MarketOnline.Documenti = new NPCE.LIbrary.ServiceReference.MOL.Documento[] {
                new NPCE.LIbrary.ServiceReference.MOL.Documento
                {
                    Estensione             = "docx",
                    PercorsoDocumentoLotto = null,
                    Contenuto = File.ReadAllBytes(docPath),
                    MD5       = Crypto.GetMD5HashString(content)
                }
            };

            invio.MarketOnline.Opzioni = new Opzioni();

            invio.MarketOnline.Opzioni.Servizio = new OpzioniServizio
            {
                ArchiviazioneDocumenti = ModalitaArchiviazione.NESSUNA,
                AnniArchiviazione      = "0",
                AttestazioneConsegna   = false,
                Consegna = ModalitaConsegna.S,
                SecondoTentativoRecapito = false
            };

            invio.MarketOnline.Opzioni.Stampa = new OpzioniStampa
            {
                FronteRetro = false,
                TipoColore  = TipoColore.BW
            };

            invio.MarketOnline.Bollettini = new PaginaBollettino[] { GetPaginaBollettino896() };


            invio.Intestazione = new Intestazione
            {
                CodiceContratto = codiceContratto,
                Prodotto        = ProdottoPostaEvo.MOL1
            };

            return(invio);
        }
Exemplo n.º 14
0
        public Names sendNames(GetRecipent GetRecipent, int operationId, SenderDto sender, int userId, bool autoconfirm = false)
        {
            var n = _context.Names.SingleOrDefault(a => a.id == GetRecipent.recipient.id);

            var user     = _context.Users.SingleOrDefault(a => a.id == userId);
            var guidUser = user.guidUser;

            //PREVERIFICA BOLLETTINO
            if (GetRecipent.bulletin != null)
            {
                ControlloBollettino ctrlB = GlobalClass.verificaBollettino(GetRecipent.bulletin);
                if (!ctrlB.Valido)
                {
                    n.valid = false;
                    n.stato = "Errore nella convalida del bollettino.";
                    _context.SaveChanges();
                    return(null);
                }
            }

            RaccomandataMarketServiceClient service = getNewServiceMOL(guidUser);

            var           fileName  = GetRecipent.recipient.fileName;
            List <string> filesName = new List <string>();

            filesName.Add(fileName);

            tipoStampa ts = tipoStampa.colori;

            if (GetRecipent.recipient.tipoStampa)
            {
                ts = tipoStampa.biancoNero;
            }

            fronteRetro fr = fronteRetro.fronte;

            if (GetRecipent.recipient.fronteRetro)
            {
                fr = fronteRetro.fronteRetro;
            }

            ricevutaRitorno rr = ricevutaRitorno.no;

            if (GetRecipent.recipient.ricevutaRitorno)
            {
                rr = ricevutaRitorno.si;
            }


            Destinatario d = new Destinatario();

            d = GetDestinatarioMOL(GetRecipent.recipient);
            Destinatario[] ld = new Destinatario[1];
            ld[0] = d;
            var request = new InvioRequest();

            var intestazione = new Intestazione();

            intestazione.CodiceContratto = user.CodiceContrattoMOL;
            intestazione.Prodotto        = ProdottoPostaEvo.MOL1;

            var market = new MarketOnline();

            market.AutoConferma = autoconfirm;
            market.Destinatari  = ld;
            market.Opzioni      = GetOpzioni(ts, fr, rr);
            market.Mittente     = GetMittente(sender, user.businessName);
            market.Documenti    = getDoc(filesName, 1);

            if (GetRecipent.recipient.ricevutaRitorno)
            {
                market.DestinatarioAR = GetDestinatarioARMOL(sender);
            }

            request.Intestazione = intestazione;
            request.MarketOnline = market;

            //BOLLETTINO
            if (GetRecipent.bulletin != null)
            {
                PaginaBollettino pagina = new PaginaBollettino();
                object           b      = null;
                switch (GetRecipent.bulletin.bulletinType)
                {
                case (int)bulletinType.Bollettino451:
                    b = getBollettino451(GetRecipent.bulletin);
                    pagina.Bollettino = (Bollettino451)b;
                    break;

                case (int)bulletinType.Bollettino674:
                    b = getBollettino674(GetRecipent.bulletin);
                    pagina.Bollettino = (Bollettino674)b;
                    break;

                case (int)bulletinType.Bollettino896:
                    b = getBollettino896(GetRecipent.bulletin);
                    pagina.Bollettino = (Bollettino896)b;
                    break;
                }

                PaginaBollettino[] p = new PaginaBollettino[1];
                p[0] = pagina;
                request.MarketOnline.Bollettini = p;
            }

            try
            {
                var esito = service.Invio(request);

                if (esito.Esito == EsitoPostaEvo.OK)
                {
                    Thread.Sleep(5000);

                    var req = new ConfermaInvioRequest();
                    req.CodiceContratto = user.CodiceContrattoMOL;
                    req.IdRichiesta     = esito.IdRichiesta;

                    var conferma = service.ConfermaInvio(req);
                    if (conferma.DestinatariRaccomandate == null)
                    {
                        int i = 0;
                        do
                        {
                            Thread.Sleep(5000);
                            conferma = service.ConfermaInvio(req);
                            i++;
                        }while (conferma.DestinatariRaccomandate == null && i < 20);
                    }

                    if (conferma.Esito == EsitoPostaEvo.OK)
                    {
                        n.presaInCaricoDate = conferma.DataAccettazione;
                        n.codice            = conferma.DestinatariRaccomandate[0].NumeroRaccomandata;
                        n.stato             = "Presa in carico Poste";
                        n.currentState      = (int)currentState.PresoInCarico;
                        n.requestId         = esito.IdRichiesta;
                        n.valid             = true;
                        n.presaInCaricoDate = conferma.DataAccettazione;
                    }
                    if (conferma.Esito == EsitoPostaEvo.KO)
                    {
                        n.stato     = "Errore nella conferma di poste. Ritentare l'invio.";
                        n.requestId = null;
                        n.valid     = true;
                    }
                    _context.SaveChanges();
                }

                if (esito.Esito == EsitoPostaEvo.KO)
                {
                    n.stato = "Errore nella validazione di poste";
                    n.valid = false;
                    _context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                n.valid = false;
                n.stato = "Errore nella richiesta del submit.";
                _context.SaveChanges();
                return(n);
            };

            return(n);
        }