Beispiel #1
0
        private void SetDestinatariAr(ROLSubmit rolSubmit)
        {
            rolSubmit.DatiRicevuta = new DatiRicevuta();
            foreach (var destAr in _servizio.Anagrafiche.Where(d => d.IsDestinatarioAR))
            {
                var nominativo = new Nominativo
                {
                    Nome      = destAr.Nome,
                    Cognome   = destAr.Cognome,
                    Indirizzo = new Indirizzo
                    {
                        DUG          = destAr.DUG,
                        Toponimo     = destAr.Toponimo,
                        Esponente    = destAr.Esponente,
                        NumeroCivico = destAr.NumeroCivico
                    },
                    CAP                   = destAr.Cap,
                    CasellaPostale        = destAr.CasellaPostale,
                    Citta                 = destAr.Citta,
                    ComplementoIndirizzo  = destAr.ComplementoIndirizzo,
                    ComplementoNominativo = destAr.ComplementoNominativo,
                    Provincia             = destAr.Provincia,
                    Stato                 = destAr.Stato,
                    RagioneSociale        = destAr.RagioneSociale
                };

                rolSubmit.DatiRicevuta.Nominativo = nominativo;
            }
        }
Beispiel #2
0
        public NpceOperationResult Execute()
        {
            var helper = new Helper();

            _proxy = helper.GetProxy <ROLServiceSoap>(_ambiente.RolUri, _ambiente.Username, _ambiente.Password);
            ROLSubmit rolSubmit = new ROLSubmit();

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

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

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

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

            return(CreateResult(NpceOperation.Invio, invioResult.CEResult.Code, invioResult.CEResult.Description, invioResult.IDRichiesta, null, invioResult.GuidUtente));
        }
Beispiel #3
0
        private void SetMittente(ROLSubmit rolSubmit)
        {
            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;

            rolSubmit.Mittente = mittente;
        }
Beispiel #4
0
        private void SetOpzioni(ROLSubmit rolSubmit)
        {
            var opzioni = new ROLSubmitOpzioni();

            opzioni.OpzionidiStampa = new OpzionidiStampa {
                PageSize    = OpzionidiStampaPageSize.A4,
                FronteRetro = _servizio.FronteRetro ? "true" : "false",
                BW          = _servizio.Colore ? "false" : "true"
            };
            rolSubmit.Opzioni = opzioni;
        }
Beispiel #5
0
        private void SetDocumenti(ROLSubmit rolSubmit)
        {
            Services.Rol.Documento newDocumento;
            var listDocumenti = new List <reference.Rol.Documento>();

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

            rolSubmit.Documento = listDocumenti.ToArray();
        }
Beispiel #6
0
        private void SetDestinatari(ROLSubmit rolSubmit)
        {
            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);
            }

            rolSubmit.Destinatari = listDestinatari.ToArray();

            rolSubmit.NumeroDestinatari = count;
        }
Beispiel #7
0
        public async Task <Names> sendNames(GetRecipent GetRecipent, int operationId, SenderDto sender, int userId)
        {
            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);
                }
            }

            ROLServiceSoapClient service = new ROLServiceSoapClient();

            service = getNewServiceRol(guidUser);

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

            filesName.Add(fileName);

            var requestId = getRequestId(guidUser);


            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 = GetDestinatarioRol(GetRecipent.recipient);
            Destinatario[] ld = new Destinatario[1];
            ld[0] = d;
            ROLSubmit rs = new ROLSubmit();

            rs.Destinatari       = ld;
            rs.Opzioni           = GetOpzioniRol(ts, fr);
            rs.Mittente          = GetMittente(sender);
            rs.NumeroDestinatari = 1;
            rs.Documento         = getDoc(filesName, 1);

            //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;
                }

                PaginaBollettinoBase[] p = new PaginaBollettinoBase[1];
                p[0] = pagina;
                rs.PagineBollettini = p;
            }

            //RICEVUTA DI RITORNO
            if (GetRecipent.recipient.ricevutaRitorno)
            {
                DatiRicevuta dr = new DatiRicevuta();
                dr.Nominativo   = rs.Mittente.Nominativo;
                rs.DatiRicevuta = dr;
            }

            rs.Nazionale = (GetRecipent.recipient.state.ToUpper() == "ITALIA" ? "true" : "false");

            InvioResult esito = new InvioResult();

            try
            {
                esito = service.Invio(requestId, user.businessName, rs);

                if (esito.CEResult.Type != "I")
                {
                    n.valid = false;
                    n.stato = esito.CEResult.Description;
                    _context.SaveChanges();
                    return(n);
                }
                n.requestId = esito.IDRichiesta;
                n.guidUser  = esito.GuidUtente;
                _context.SaveChanges();
            }
            catch (Exception e)
            {
                n.valid = false;
                n.stato = "Errore nella richiesta del submit.";
                _context.SaveChanges();
                return(n);
            };

            return(n);
        }