private void SetDocumenti(PostaContest postaContest) { Documento newDocumento; var listDocumenti = new List <Documento>(); foreach (var documento in _servizio.Documenti) { newDocumento = NewDocumento(documento); listDocumenti.Add(newDocumento); } postaContest.Documenti = listDocumenti.ToArray(); }
private void SetDestinatari(PostaContest postaContest) { 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); } postaContest.Destinatari = listDestinatari.ToArray(); }
private void SetOpzioni(PostaContest postaContest) { postaContest.Opzioni = new Services.Col.Opzioni(); postaContest.Opzioni.Servizio = new Services.Col.OpzioniServizio { ArchiviazioneDocumenti = false }; postaContest.Opzioni.Stampa = new Services.Col.OpzioniStampa { FronteRetro = _servizio.FronteRetro, TipoColore = _servizio.Colore ? Services.Col.TipoColore.COLORE : Services.Col.TipoColore.BW }; // Dati Opzionali }
private void SetBollettini(PostaContest postaContest) { List <Services.Col.PaginaBollettino> pagineBollettiniList = new List <Services.Col.PaginaBollettino>(); List <PaginaDueBollettini> pagineDueBollettiniList = new List <PaginaDueBollettini>(); foreach (var paginaBollettino in _servizio.PagineBollettini) { CreatePaginaBollettino(paginaBollettino, pagineBollettiniList, pagineDueBollettiniList); } List <PaginaBollettino> finalBollettiniList = new List <PaginaBollettino>(); finalBollettiniList.AddRange(pagineBollettiniList); finalBollettiniList.AddRange(pagineDueBollettiniList); postaContest.Bollettini = finalBollettiniList.ToArray(); }
private void SetMittente(PostaContest postaContest) { var mittenteServizio = _servizio.Anagrafiche.Single(d => d.IsMittente == true); var nominativo = mittenteServizio.RagioneSociale ?? string.Concat(mittenteServizio.Cognome, mittenteServizio.Nome); postaContest.Mittente = new Mittente { Nominativo = nominativo, Cap = mittenteServizio.Cap, ComplementoIndirizzo = mittenteServizio.ComplementoIndirizzo, ComplementoNominativo = mittenteServizio.ComplementoNominativo, Indirizzo = string.Concat(mittenteServizio.DUG, mittenteServizio.Toponimo, mittenteServizio.Esponente), Comune = mittenteServizio.Citta, Frazione = mittenteServizio.Frazione, Nazione = mittenteServizio.Stato ?? "Italia", Provincia = mittenteServizio.Provincia }; }
public NpceOperationResult Execute() { var helper = new Helper(); _proxy = helper.GetProxy <IPostaContestService>(_ambiente.ColUri, _ambiente.Username, _ambiente.Password); Services.Col.InvioRequest colSubmit = new InvioRequest(); ProdottoPostaEvo tipoProdotto; Enum.TryParse <ProdottoPostaEvo>(_servizio.TipoServizio.Descrizione.ToUpper(), out tipoProdotto); colSubmit.Intestazione = new Intestazione { CodiceContratto = _ambiente.ContrattoCOL, Prodotto = tipoProdotto }; var postaContest = new PostaContest(); postaContest.AutoConferma = _servizio.Autoconferma; SetIntestazione(postaContest); SetMittente(postaContest); SetDestinatari(postaContest); SetDocumenti(postaContest); SetOpzioni(postaContest); if (_servizio.PagineBollettini != null && _servizio.PagineBollettini.Count() > 0) { SetBollettini(postaContest); } var fake = new OperationContextScope((IContextChannel)_proxy); var headers = GetHttpHeaders(_ambiente); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = headers; colSubmit.PostaContest = postaContest; var invioResult = _proxy.Invio(colSubmit); return(CreateResult(NpceOperation.Invio, invioResult.Esito.ToString() == "OK" ? "0" : "99", invioResult.Esito.ToString(), invioResult.IdRichiesta, null, null)); }
private void SetIntestazione(PostaContest postaContest) { }
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); } } PostaContestServiceClient service = getNewServiceCOL(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; } Destinatario d = new Destinatario(); d = GetDestinatarioCOL(GetRecipent.recipient); Destinatario[] ld = new Destinatario[1]; ld[0] = d; var request = new InvioRequest(); var intestazione = new Intestazione(); intestazione.CodiceContratto = user.CodiceContrattoCOL; intestazione.Prodotto = (GetRecipent.recipient.tipoLettera.ToLower() == "Posta1" ? ProdottoPostaEvo.COL1 : ProdottoPostaEvo.COL4); var lettera = new PostaContest(); lettera.AutoConferma = autoconfirm; lettera.Destinatari = ld; lettera.Opzioni = GetOpzioni(ts, fr); lettera.Mittente = GetMittente(sender, user.businessName); lettera.Documenti = getDoc(filesName, 1); request.Intestazione = intestazione; request.PostaContest = lettera; //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.PostaContest.Bollettini = p; } try { var esito = service.Invio(request); if (esito.Esito == EsitoPostaEvo.OK) { Thread.Sleep(5000); var req = new ConfermaInvioRequest(); req.CodiceContratto = user.CodiceContrattoCOL; req.IdRichiesta = esito.IdRichiesta; var conferma = service.ConfermaInvio(req); if (conferma.Destinatari == null) { int i = 0; do { Thread.Sleep(5000); conferma = service.ConfermaInvio(req); i++; }while (conferma.Destinatari == null && i < 20); } if (conferma.Esito == EsitoPostaEvo.OK) { n.presaInCaricoDate = conferma.DataAccettazione; n.codice = conferma.Destinatari[0].NumeroLettera; 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); }