Пример #1
0
 public override DocsPaIntegration.Search.SearchOutputRow PuntualSearch(DocsPaIntegration.Search.PuntualSearchInfo puntualSearchInfo)
 {
     try
     {
         ExternalWSSoapClient soap   = GetWSClient();
         PuntualSearchInfoWS  search = new PuntualSearchInfoWS();
         search.Codice = puntualSearchInfo.Codice;
         PuntualSearchOutputWS outputWS = soap.PuntualSearch(search);
         if (outputWS.Code == SearchOutputCode.KO)
         {
             throw new SearchException(SearchExceptionCode.SERVER_ERROR, outputWS.ErrorMessage);
         }
         SearchOutputRow res = new SearchOutputRow();
         if (outputWS.Row != null)
         {
             res.Codice      = outputWS.Row.Codice;
             res.Descrizione = outputWS.Row.Descrizione;
         }
         return(res);
     }
     catch (SearchException se)
     {
         throw se;
     }
     catch (Exception e)
     {
         logger.Error("Exception: " + e);
         throw new SearchException(SearchExceptionCode.SERVICE_UNAVAILABLE);
     }
 }
Пример #2
0
 public override DocsPaIntegration.Search.SearchOutput Search(DocsPaIntegration.Search.SearchInfo searchInfo)
 {
     try
     {
         List <SearchOutputRow> rows   = new List <SearchOutputRow>();
         ExternalWSSoapClient   soap   = getWSClient();
         SearchInfoWS           search = new SearchInfoWS();
         search.Descrizione   = searchInfo.Descrizione;
         search.Codice        = searchInfo.Codice;
         search.PageSize      = searchInfo.PageSize;
         search.RequestedPage = searchInfo.RequestedPage;
         SearchOutputWS outputWS = soap.Search(search);
         if (outputWS.Code == SearchOutputCode.KO)
         {
             throw new SearchException(SearchExceptionCode.SERVER_ERROR, outputWS.ErrorMessage);
         }
         for (int i = 0; i < outputWS.Rows.Length; i++)
         {
             SearchOutputRow row = new SearchOutputRow();
             row.Codice      = outputWS.Rows[i].Codice;
             row.Descrizione = outputWS.Rows[i].Descrizione;
             rows.Add(row);
         }
         SearchOutput res = new SearchOutput(rows, outputWS.NumTotResults);
         return(res);
     }
     catch (SearchException se)
     {
         throw se;
     }
     catch (Exception e)
     {
         throw new SearchException(SearchExceptionCode.SERVICE_UNAVAILABLE);
     }
 }
Пример #3
0
        private void btn_ok_Click(Object sender, EventArgs arg)
        {
            int             selectedIndex = Int32.Parse(this.hf_checkedIndex.Value);
            SearchOutputRow selectedRow   = SearchOutput.Rows[selectedIndex];

            ProfilazioneDocManager.setSearchOutputRowSelected(selectedRow);
            Response.Write("<script>window.returnValue = 'Y'; window.close();</script>");
        }
Пример #4
0
 protected void btn_cercaCodice_Click(object sender, EventArgs arg)
 {
     try
     {
         PuntualSearchInfo searchInfo = new PuntualSearchInfo(this.txt_codice.Text);
         SearchOutputRow   output     = Adapter.PuntualSearch(searchInfo);
         this.IsManualInsert = false;
         if (output == null)
         {
             this.txt_codice.Text      = "";
             this.txt_descrizione.Text = "";
             this.hf_codice.Value      = "";
             this.hf_descrizione.Value = "";
         }
         else
         {
             this.txt_codice.Text      = output.Codice;
             this.txt_descrizione.Text = output.Descrizione;
             this.hf_codice.Value      = output.Codice;
             this.hf_descrizione.Value = output.Descrizione;
         }
     }
     catch (SearchException e)
     {
         if (e.Code == SearchExceptionCode.SERVICE_UNAVAILABLE)
         {
             handleDisservizio();
         }
         if (e.Code == SearchExceptionCode.SERVER_ERROR)
         {
             this.txt_codice.Text      = "";
             this.txt_descrizione.Text = "";
             this.hf_codice.Value      = "";
             this.hf_descrizione.Value = "";
             Response.Write("<script language='javascript'>alert('" + e.Message + "')</script>");
         }
     }
     catch (Exception e)
     {
         handleDisservizio();
     }
 }
Пример #5
0
 public override void OnPreRender(IntegrationAdapter control)
 {
     Page_Load(control);
     if (control.IsPostBack)
     {
         if ("1".Equals(control.hf_reset.Value))
         {
             control.hf_codice.Value      = "";
             control.hf_descrizione.Value = "";
             control.txt_codice.Text      = "";
             control.txt_descrizione.Text = "";
             control.hf_reset.Value       = "0";
         }
         if ("1".Equals(control.hf_selectedObject.Value))
         {
             SearchOutputRow row = ProfilazioneDocManager.getSearchOutputRowSelected();
             control.hf_codice.Value         = row.Codice;
             control.hf_descrizione.Value    = row.Descrizione;
             control.txt_codice.Text         = row.Codice;
             control.txt_descrizione.Text    = row.Descrizione;
             control.IsManualInsert          = false;
             control.hf_selectedObject.Value = "0";
         }
         if ("1".Equals(control.hf_disservizio.Value))
         {
             control.handleDisservizio();
         }
         if (control.Disservizio)
         {
             control.txt_descrizione.ReadOnly = false;
             control.img_disservizio.Visible  = true;
             control.btn_cerca.Visible        = false;
             control.btn_cercaCodice.Visible  = false;
         }
     }
 }
Пример #6
0
        public override DocsPaIntegration.Search.SearchOutput Search(DocsPaIntegration.Search.SearchInfo searchInfo)
        {
            try
            {
                //Client del webservice
                ArcaWS.ArcaIntraWSService wsArca = new ArcaIntraWSService();
                wsArca.Url = WSUrl;

                //Imposta il profilo per invocare il webservice di Arca
                ArcaWS.tProfilo profilo = new tProfilo();
                SetProfilo(ref profilo);

                //Istanzia l'oggetto per il risultato della ricerca
                ArcaWS.DatiRisposta datiRisposta = new DatiRisposta();

                //Ricerca per codice fiscale
                if (searchInfo.OtherParam.ContainsKey("CF"))
                {
                    //Istanzia l'oggetto per la ricerca per codice fiscale
                    ArcaWS.RichiestaPerCodiceFiscale ricercaCF = new RichiestaPerCodiceFiscale();
                    ricercaCF.Profilo = profilo;

                    //Istanzia l'oggetto per i dati codice fiscale
                    ArcaWS.tCodiceFiscale cfRichiesta = new tCodiceFiscale();

                    //Imposta i dati del codice fiscale
                    SetCodiceFiscale(ref cfRichiesta, searchInfo.OtherParam["CF"].ToString());
                    ricercaCF.CodiceFiscale = cfRichiesta;
                    datiRisposta            = wsArca.ricercaPerCodiceFiscale(ricercaCF);
                }
                else //Ricerca per dati anagrafici
                {
                    //Istanzia l'oggetto per la ricerca per dati anagrafici
                    ArcaWS.RichiestaPerDatiAnagraficiParziali ricercaDA = new RichiestaPerDatiAnagraficiParziali();
                    ricercaDA.Profilo = profilo;

                    //Istanzia l'oggetto per i data anagrafici parziali
                    ArcaWS.tDatiPersonaliParziali2 dpRichiesta = new tDatiPersonaliParziali2();

                    //Imposta i dati anagrafici parziali
                    if (searchInfo.OtherParam.ContainsKey("COGNOME"))
                    {
                        dpRichiesta.Cognome = searchInfo.OtherParam["COGNOME"].ToString();
                    }

                    if (searchInfo.OtherParam.ContainsKey("NOME"))
                    {
                        dpRichiesta.Cognome = searchInfo.OtherParam["NOME"].ToString();
                    }

                    if (searchInfo.OtherParam.ContainsKey("DATA_NASCITA"))
                    {
                        ArcaWS.tData2 dataNascita = new tData2();
                        dataNascita.Anno        = searchInfo.OtherParam["DATA_NASCITA"].ToString().Substring(4, 4);
                        dataNascita.Mese        = searchInfo.OtherParam["DATA_NASCITA"].ToString().Substring(2, 2);
                        dataNascita.Giorno      = searchInfo.OtherParam["DATA_NASCITA"].ToString().Substring(0, 2);
                        dpRichiesta.DataNascita = dataNascita;
                    }

                    if (searchInfo.OtherParam.ContainsKey("SESSO"))
                    {
                        dpRichiesta.Sesso = searchInfo.OtherParam["SESSO"].ToString();
                    }


                    if (searchInfo.OtherParam.ContainsKey("COMUNE_NASCITA") || searchInfo.OtherParam.ContainsKey("PROVINCIA_NASCITA"))
                    {
                        ArcaWS.tLuogo2 comuneNascita = new tLuogo2();
                        if (searchInfo.OtherParam.ContainsKey("COMUNE_NASCITA"))
                        {
                            comuneNascita.Nome = searchInfo.OtherParam["COMUNE_NASCITA"].ToString();
                        }

                        if (searchInfo.OtherParam.ContainsKey("PROVINCIA_NASCITA"))
                        {
                            comuneNascita.Provincia = searchInfo.OtherParam["PROVINCIA_NASCITA"].ToString();
                        }

                        dpRichiesta.ComuneNascita = comuneNascita;
                    }

                    ricercaDA.DatiPersonali = dpRichiesta;
                    datiRisposta            = wsArca.ricercaPerDatiPersonaliParziali(ricercaDA);
                }


                //Se il webservice di Arca è andato in errore lancia un'eccezione con il dettaglio dell'errore
                if (datiRisposta.Esito.ReturnCode != "WS-OK")
                {
                    throw new SearchException(SearchExceptionCode.SERVER_ERROR, datiRisposta.Esito.Descrizione);
                }
                else
                {
                    List <SearchOutputRow> rows = new List <SearchOutputRow>();
                    if (datiRisposta.Esito.TotaleSinonimiRestituiti == 1)
                    {
                        SearchOutputRow       row        = new SearchOutputRow();
                        ArcaWS.tCodiceFiscale cfRisposta = datiRisposta.Dettaglio.HighProfile.CodiceFiscale;
                        row.Codice      = cfRisposta.Cognome + cfRisposta.Nome + cfRisposta.Anno + cfRisposta.Mese + cfRisposta.Giorno + cfRisposta.Comune + cfRisposta.CodControllo;
                        row.Descrizione = datiRisposta.Dettaglio.HighProfile.DatiPersonali.Cognome + " " + datiRisposta.Dettaglio.HighProfile.DatiPersonali.Nome;
                        rows.Add(row);
                    }
                    else
                    {
                        for (int i = 0; i <= datiRisposta.Esito.TotaleSinonimiRestituiti; i++)
                        {
                            SearchOutputRow       row        = new SearchOutputRow();
                            ArcaWS.tCodiceFiscale cfRisposta = datiRisposta.Sinonimi[i].LowProfile.CodiceFiscale;
                            row.Codice      = cfRisposta.Cognome + cfRisposta.Nome + cfRisposta.Anno + cfRisposta.Mese + cfRisposta.Giorno + cfRisposta.Comune + cfRisposta.CodControllo;
                            row.Descrizione = datiRisposta.Sinonimi[i].LowProfile.DatiPersonali.Cognome + " " + datiRisposta.Sinonimi[i].LowProfile.DatiPersonali.Nome;
                            rows.Add(row);
                        }
                    }

                    SearchOutput res = new SearchOutput(rows, datiRisposta.Esito.TotaleSinonimiRestituiti);

                    return(res);
                }
            }
            catch (Exception e)
            {
                throw new SearchException(SearchExceptionCode.SERVICE_UNAVAILABLE);
            }
        }
Пример #7
0
        /// <summary>
        /// Metodo utilizzato per una ricerca puntuale, per codice fiscale
        /// </summary>
        /// <param name="puntualSearchInfo"></param>
        /// <returns></returns>
        public override DocsPaIntegration.Search.SearchOutputRow PuntualSearch(DocsPaIntegration.Search.PuntualSearchInfo puntualSearchInfo)
        {
            SearchOutputRow row = new SearchOutputRow();

            return(row);
        }