private void SetDestinatariAr(MarketOnline marketOnLine) { foreach (var destAr in _servizio.Anagrafiche.Where(d => d.IsDestinatarioAR)) { marketOnLine.DestinatarioAR = NewDestinatarioAR(destAr); } }
private void SetDocumenti(MarketOnline marketOnLine) { Documento newDocumento; var listDocumenti = new List <Documento>(); foreach (var documento in _servizio.Documenti) { newDocumento = NewDocumento(documento); listDocumenti.Add(newDocumento); } marketOnLine.Documenti = listDocumenti.ToArray(); }
private void SetDestinatari(MarketOnline marketOnLine) { 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); } marketOnLine.Destinatari = listDestinatari.ToArray(); }
private void SetMittente(MarketOnline marketOnLine) { var mittenteServizio = _servizio.Anagrafiche.Single(d => d.IsMittente == true); var nominativo = mittenteServizio.RagioneSociale ?? string.Concat(mittenteServizio.Cognome, " ", mittenteServizio.Nome); marketOnLine.Mittente = new Mittente { Nominativo = nominativo, Cap = mittenteServizio.Cap, ComplementoIndirizzo = mittenteServizio.ComplementoIndirizzo, ComplementoNominativo = mittenteServizio.ComplementoNominativo, Indirizzo = string.Concat(mittenteServizio.DUG, mittenteServizio.Toponimo, " ", mittenteServizio.NumeroCivico, mittenteServizio.Esponente), Comune = mittenteServizio.Citta, Frazione = mittenteServizio.Frazione, Nazione = mittenteServizio.Stato ?? "Italia", Provincia = mittenteServizio.Provincia }; }
private void SetOpzioni(MarketOnline marketOnLine) { marketOnLine.Opzioni = new Services.Mol.Opzioni(); marketOnLine.Opzioni.Servizio = new OpzioniServizio { ArchiviazioneDocumenti = false, AttestazioneConsegna = _servizio.AvvisoRicevimento, SecondoTentativoRecapito = _servizio.SecondoTentativoRecapito }; marketOnLine.Opzioni.Stampa = new OpzioniStampa { FronteRetro = _servizio.FronteRetro, TipoColore = _servizio.Colore ? TipoColore.COLORE : TipoColore.BW }; // Dati Opzionali }
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)); }
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); }
private void SetIntestazione(MarketOnline marketOnLine) { }