domenica 16 febbraio 2020

.Net inviare SMS tramite il servizio Ehiweb con VB.Net e C#

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_net-inviare-sms-tramite-ehiweb-con-vbnet-e-c_1656.aspx


In questo articolo vedremo come fornire ai nostri programmi la possibilità di inviare SMS a numeri cellulari che possono tornare utili in vari ambiti.
L’invio degli SMS è molto usato nei casi di avvisi tecnici, come per esempio in caso di allarmi o di manutenzione su macchinari che non funzionano correttamente, oppure in ambito marketing. In questo campo la strategia è spesso determinante perché il negozio o l'azienda potrebbero fidelizzare in maniera ottimale il cliente.
Supponiamo che un’attività commerciale, come un negozio, vuole informare i propri clienti di sconti, saldi o di nuovi prodotti. Tramite un valido invio di SMS può contattare tanti clienti, anche migliaia, stando in negozio e con pochi clic e meno di un minuto raggiungere e informare tante persone.
Altro esempio può essere lo studio medico o dentistico che vuole ricordare al paziente dell’appuntamento preso, oppure che sono pronti i referti da ritirare. Molto usati gli SMS anche per inviare codici e password come fanno le banche con le OTP, oppure per i concorsi, inviti e molto altro.
Questi sono solo alcuni scenari che si possono verificare con un uso intelligente degli SMS ma anche con semplici applicazioni facilmente realizzabili.
In questo articolo vedremo come la piattaforma BeSMS https://www.besms.net/ di Ehiweb.it mette a disposizione un servizio online, che possiamo utilizzare tramite linguaggio di programmazione VB.Net e C# in vari ambiti quale Web (Asp.Net) o Windows Application.
Tramite la prova gratuita https://www.besms.net/prova-gratis/ vedremo come utilizzare il servizio web, che è lo stesso anche per i vari pacchetti a pagamento.

Creazione del progetto

Si crea un nuovo progetto di tipo Windows Form, ma gli esempi proposti si possono utilizzare anche per l’ambiente web.
Nella form, aggiungiamo due controlli label, due caselle di testo, e due pulsanti, il tutto come mostrato in figura 1.



Figura 1 – i vari controlli nella form

Dopo aver posizionato i vari controlli ed impostato i testi nelle label, aggiungiamo al nostro programma il riferimento al servizio web messo a disposizione dall’azienda.
Il servizio web è raggiungibile al seguente sito https://secure.apisms.it/nosesszone/soap_web_service.php?wsdl e va aggiunto tramite i riferimenti di Visual Studio .Net.
Nella finestra di esplora soluzioni, facciamo click con il tasto destro sul nome del progetto e nel menu che viene visualizzato, selezioniamo la voce “Aggiungi” e nel sottomenu la voce “Riferimento al Servizio”. Nella finestra che viene aperta (figura 2) aggiungiamo il servizio messo a disposizione da Ehiweb e facciamo click sul pulsante “Vai”.
Verranno visualizzati i vari metodi messi a disposizione dal servizio web.


Figura 2 – I metodi del servizio web.

Da questa finestra, dobbiamo fare click sul pulsante “Avanzata…” il quale aprirà una finestra “Figura 3” con il quale possiamo inserire il riferimento al servizio “WSDL”, tramite il pulsante “Aggiungi riferimento web…”


Figura 3 – la finestra per aprire aggiungere il riferimento web

Nella finestra che viene aperta (figura 4) , verrà visualizzato il file xml del servizio soap, nella casella “Nome riferimento web:” impostiamo il valore “ServizioSMS” e facciamo click sul pulsante “Aggiungi riferimento”.


Figura 4 – L’aggiunta del servizio WSDL

Nel nostro progetto avremmo aggiunto il riferimento al servizio web.

Stesura del codice

Terminata questa parte per l’aggiunta di riferimenti al servizio web messo a disposizione di Ehiweb, non ci resta che scrivere il codice per la gestione degli sms.
Passiamo in visualizzazione codice, perché dovremmo creare una funzione che codifica in byte e poi di tipo string il testo che sarà presente nella casella di testo e che sarà inviato al destinatario.
Qui di seguito il frammento di codice per entrambi i linguaggi.



VB.Net

Private Function convertToBase64String(ByVal value As String) As String

        Return System.Convert.ToBase64String(Encoding.Default.GetBytes(value))

    End Function

 

C#

private string convertToBase64String(string value)

        {

            return System.Convert.ToBase64String(Encoding.Default.GetBytes(value));

        }


Ora passiamo in visualizzazione grafica della nostra form.
Facciamo doppio click sul pulsante per l’invio degli sms, in modo che passiamo in visualizzazione codice, nell’evento click del pulsante.
La classe gwsms è il client del servizio, con il quale possiamo utilizzare i vari metodi messi a disposizione, tra cui il metodo “SendSms” che sarà quello per inviare gli sms.
Per eseguire questo metodo, dobbiamo utilizzare la classe “Richiesta” con la quale ci saranno le informazioni per l’invio del sms, quale i dati di autenticazione ed una proprietà di tipo sms, che contiene informazioni per l’invio del messaggio, quale numero del destinatario e testo da inviare.
Si riporta il frammento di codice per le suddette operazioni per i linguaggi VB.Net e C#.


VB.Net

Private Sub BtnInvia_Click(sender As Object, e As EventArgs) Handles BtnInvia.Click

        Try

 

            If TxtNumeroDestinatario.Text.Trim() = "" Then

                MessageBox.Show("Inserire un numero di telefono")

                Return

            End If

 

            Dim clientSMS As ServizioSMS.gwsms = New ServizioSMS.gwsms()

            ‘Oggetto per la gestione di uno o più sms

            Dim Richiesta As ServizioSMS.Richiesta = New ServizioSMS.Richiesta()

            Richiesta.authlogin = "NomeUtente"

            Richiesta.authpasswd = "Password"

‘Oggetto per l'invio di sms - imposto il testo, il telefono del destinatario ed id api preso dal pannello di controllo del sito

            Dim SmsDaInviare As ServizioSMS.SMS = New ServizioSMS.SMS()

            SmsDaInviare.body = convertToBase64String(TxtTestoInviare.Text)

            SmsDaInviare.destination = "39" & TxtNumeroDestinatario.Text

            SmsDaInviare.id_api = "19"

  ‘inizializzo la proprietà sms che riguarda il numero degli sms in questo caso uno

 

            Richiesta.sms = New ServizioSMS.SMS() {SmsDaInviare}

‘invio SMS

            Dim risultatoInvio As ServizioSMS.SMSresp() = clientSMS.sendSms(Richiesta)

 

            For Each risultato As ServizioSMS.SMSresp In risultatoInvio

                MessageBox.Show("ID: " & risultato.ID_Spedizione & "  Codice: " + risultato.Codice & " Descrizione: " + risultato.Descrizione)

            Next

 

        Catch ex As Exception

 

            MessageBox.Show("Errore: " & ex.Message)

           

        End Try

    End Sub

 

C#

private void BtnInvia_Click(object sender, EventArgs e)

        {

            try

            {

 

                if (TxtNumeroDestinatario.Text.Trim() == "")

                {

                    MessageBox.Show("Inserire un numero di telefono");

                    return;

                }

 

 

                ServizioSMS.gwsms clientSMS = new ServizioSMS.gwsms();

 

                //Oggetto per la gestione di uno o più sms

                ServizioSMS.Richiesta Richiesta = new ServizioSMS.Richiesta();

                Richiesta.authlogin = "NomeUtente";

                Richiesta.authpasswd = "Password";

              

                //Oggetto per l'invio di sms - imposto il testo, il telefono del destinatario ed id api preso dal pannello di controllo del sito

                ServizioSMS.SMS SmsDaInviare = new ServizioSMS.SMS();

              

                SmsDaInviare.body =convertToBase64String(TxtTestoInviare.Text);

                SmsDaInviare.destination = "39" + TxtNumeroDestinatario.Text;

                SmsDaInviare.id_api = "19";

 

                //inizializzo la proprietà sms che riguarda il numero degli sms in questo caso uno

                Richiesta.sms = new ServizioSMS.SMS[] { SmsDaInviare };

                //invio SMS

                ServizioSMS.SMSresp[] risultatoInvio = clientSMS.sendSms(Richiesta);

                foreach (ServizioSMS.SMSresp risultato in risultatoInvio)

                {

                    MessageBox.Show("ID: " + risultato.ID_Spedizione + "  Codice: " + risultato.Codice + " Descrizione: " + risultato.Descrizione);

                }

 

            }

            catch (Exception ex)

            {

               

                MessageBox.Show("Errore: " + ex.Message);

               

            }

 

 

        }

Si esegue tale codice, impostando un numero di telefono e mettendo del testo, vedremo dopo pochi secondi la ricezione del messaggio sms.
Ora dobbiamo scrivere il codice per sapere quanto credito abbiamo a disposizione.
Passiamo in visualizzazione grafica della nostra form, e facciamo doppio click sul pulsante “Credito” in modo che passiamo in visualizzazione codice nell’evento click del pulsante.
Tramite il metodo “GetCredit” della classe “Gwsms” impostando le credenziali, possiamo sapere quanti sms disponiamo.
Qui di seguito il frammento di codice per entrambi i linguaggi delle suddette operazioni.


VB.Net

Private Sub BtnCredito_Click(sender As Object, e As EventArgs) Handles BtnCredito.Click

        Try

            Dim clientSMS As ServizioSMS.gwsms = New ServizioSMS.gwsms()

            Dim RichiestaCredito As ServizioSMS.getCreditRequest = New ServizioSMS.getCreditRequest()

            RichiestaCredito.authlogin = "NomeUtente"

            RichiestaCredito.authpasswd = "Password"

            Dim esitoCredito As String = clientSMS.getCredit(RichiestaCredito).ToString()

            MessageBox.Show(esitoCredito)

        Catch ex As Exception

            MessageBox.Show("Errore: " & ex.Message)

        End Try

    End Sub

 

 

C#

private void BtnCredito_Click(object sender, EventArgs e)

        {

            try

            {

                ServizioSMS.gwsms clientSMS = new ServizioSMS.gwsms();

                ServizioSMS.getCreditRequest RichiestaCredito = new ServizioSMS.getCreditRequest();

                RichiestaCredito.authlogin = "NomeUtente";

                RichiestaCredito.authpasswd = "Password";

                string esitoCredito = clientSMS.getCredit(RichiestaCredito).ToString();

                MessageBox.Show(esitoCredito);

            }

            catch (Exception ex)

            {

                MessageBox.Show("Errore: " + ex.Message);

            }

        }


Alcune considerazioni da dire, il codice id_api lo troviamo nel pannello centrale come riportato nella figura qui di seguito, accedendo al seguente sito https://www.ehiweb.it/cliente/credito_besms.php dopo aver fatto login abbiamo id_ap per i vari tipi sms.



Figura 5 – Il codice api della pagina principale

Mentre per sapere i codici errore, nella tabella 10 della documentazione, qui https://secure.apisms.it/documentazione_api/Documentazione_BCP_API.pdf troviamo i vari codici di errore e descrizione oltre al quale sono presenti informazioni utili sul servizio web.

Conclusioni

L’articolo ha voluto fornire all’utente una tecnica per l’invio di messaggi SMS, tramite la piattaforma BeSMS del provider Ehiweb.
L’utilizzo di SMS può tornare utile ai programmatori per integrare queste funzionalità di messaggistica ai proprio applicativi, oppure per creare appositi programmi per acquisire nuovi clienti (funnel marketing) o supportare le PMI che necessitano di strategie vincenti per la gestione dei propri clienti.

sabato 15 febbraio 2020

Download gratuito del gioco Kingdom Come Deliverance




Fino al 20 febbraio 2020 è possibile scaricare gratuitamente il gioco Kingdom Come Deliveranche per un pubblico adulto (dai 18 anni in su) senza limiti ed in lingua italiana.
Il gioco è per sistema operativo Windows.
Per il download e maggiori informazioni visitate il seguente sito https://www.epicgames.com/store/it/product/kingdom-come-deliverance/home

Strumento online per la verifica delle regular expression

Oggi segnalo un ottimo strumento online gratuito e che non richiede nessuna registrazione o inserimento email per la verificare del codice di tipo Regular expression.
Dal seguente sito https://regex101.com/ è possibile verificare se la regular expression  inserita nella casella in alto nella parte centrale il controllo che crediamo di fare.
Una volta inserita la regular expression nella parte destra verrà visualizzata la descrizione di tale regola.

venerdì 14 febbraio 2020

Nessuna connessione ad internet con proxy


Sono tante le cause riguardante la mancanza di connessione ad internet.
Tra queste, nel caso che si ha installato VmWare Player, il programma gratuito di virtualizzazione, può capitare nel caso si è in una rete aziendale con impostazioni di proxy nel browser di navigazione, di visualizzare la mancanza di internet, come in figura.
Il problema si può risolvere disabilitando VMware Network Adapter VMnet8 e VMware Network Adapter VMnet1 .

Questa è una delle possibile soluzioni, ma dipende da caso a caso.

giovedì 13 febbraio 2020

C# selezionare un elemento di una enumerazione tramite stringa

Il frammento di codice nel linguaggio C# qui di seguito, illustra una tecnica di come ottenere l'elemento di un enumeratore (enum) indicandolo con la stringa.
In questo modo si ottiene un oggetto relativo ad un elemento dell'enum.


Var mioStato =  (EnumEsempio)Enum.Parse(typeof(EnumEsempio), "NomeElemento"))

mercoledì 12 febbraio 2020

LINQ Contains Case Insensitive

Nel caso che vogliamo utilizzare in Linq il metodo contains senza tener conto delle maiuscole e minuscole, qui un esempio.

(from dati in Contesto.Tabella where MioArray.Contains(dati.Campo, StringComparer.CurrentCultureIgnoreCase)   select dati).ToArray();


martedì 11 febbraio 2020

Sito con articoli e post su .Net



Il portale https://tutorialshelper.com/ in lingua inglese è un sito nel quale si trovano articoli e trucchi sul mondo .Net. SharePoint, Asp.Net e tanto altro.
Una sezione molto interessante è la parte blog, visibile qui https://tutorialshelper.com/blog/ con novità giornaliere.

lunedì 10 febbraio 2020

Jquery ottenere il totale delle righe di una tabella

In questo frammento di codice, otteniamo il totale delle righe di una tabella, in Jquery.

var totaleRighe = $('.NomeTabella').find('> tbody > tr').length;

domenica 9 febbraio 2020

Libro gratuito di cyberbullismo


Bellissima iniziativa quella di Unieuro e Polizia di Stato, che hanno realizzato un libro cartaceo ed ebook sul Cyberbullismo.
Il libro è gratuito e si può prendere in tutto i punti vendita di Unieuro, senza obbligo di acquisto, mentre digitalmente si può scaricare dal seguente sito https://www.unieuro.it/online/cuoriconnessi e non richiede ne registrazione e ne indirizzo email.
Una bella iniziativa per un uso migliore del web.
Per maggiori informazioni e download visitate il sito indicato.

Download ebook SQL Server Metadata

SQL Server Metadata Succinctly

Dal seguente sito https://www.syncfusion.com/ebooks/sql-server-metadata-succinctly è possibile scaricare un manuale in formato pdf ed in lingua inglese riguardante la gestione dei dati del database Sql Server.
Il manuale, composto da circa 90 pagine è scaricabile gratuitamente previa registrazione gratuita.

sabato 8 febbraio 2020

download gioco gratuito Ticket to Ride




Fino al 13 febbraio 2020 è possibile scaricare il gioco Ticket to ride in lingua italiano e per sistemi Windows dal seguente sito https://www.epicgames.com/store/it/product/ticket-to-ride/home

Aggiornamento a Windows 10 gratuitamente


In questa mini guida vedremo come aggiornare il sistema operativo Windows 7 a Windows 10 gratuitamente.
Nel momento in cui viene pubblicata questa guida, c'è la possibilità di aggiornare il proprio pc dotato di Windows 7 (con regolare licenza) a Windows 10 gratuitamente.

Dal sito ufficiale Microsoft, qui https://www.microsoft.com/it-it/software-download/windows10 fare click sulla voce "Scarica ora lo strumento" come mostrato in figura 1.

Figura 1



Fatto questo, eseguiamo il file appena scaricato, verrà visualizzata una finestra nel quale verranno esaminati i requisiti del computer, il tutto come mostrato in figura 2.

Figura 2 - verifica dei requisiti
Terminata la verifica dei requisiti e quindi possibilità di installare Windows 10 sul pc, se l'esito è positivo verrà visualizzata una scherma del contratto la quale dobbiamo fare click sul pulsante "Accetto" se vogliamo continuare (figura 3).

Figura 3 - Condizioni di licenza.





Dopo aver fatto click sul pulsante "Accetto" dobbiamo selezionare la voce "Aggiorna" come indicato in figura 4.


Figura 4 la scelta dell'operazione da effettuare



Dopo aver selezionato la voce "Aggiorna pc…" facciamo click sul pulsante "Avanti", in questo modo verrà effettuata la procedura interna per scaricare il software di Windows 10, il tutto come mostrato in figura 5.

Figura 5 - Il download di Windows 10



La procedura può durare anche 50 minuti, al termine si passerà alla creazione del supporto per Windows, il tutto come mostrato nella figura successiva.

Figura 6- Creazione del supporto per Windows 10


Anche questa fase richiede variati minuti. Una volta terminata verrà avviata l'installazione di Windows 10, come in figura 7.

Figura 7 - La preparazione all'installazione di Windows 10


Al termine di questa preparazione all'installazione, verrà visualizzata un'altra finestra relativa alla licenza, che se vogliamo continuare dobbiamo fare click sul pulsante "Accetta", il tutto come mostrato in figura 8.
Figura 8 - Il contatto di licenza

Dopo aver accettato verrà effettuato il controllo ed eventualmente il download degli aggiornamenti di Windows 10.

Figura 9 - Il download degli aggiornamenti
Verrà avviata poi una breve fase nel quale verifica la situazione dell'avvio dell'installazione (figura 10).


Figura 10 - Verifica dell'installazione.

Siamo quasi giunti alla fase finale, prima dell'avvio dell'installazione nel quale il nostro Windows 7 verrà sostituito da Windows 10.
Nella schermata seguente ci verrà mostrato le operazioni che vorremmo fare, in particolare aggiornare a Windows 10e se mantenere i file.
Accettiamo tutte le proposte e facciamo click sul pulsante "Installa" il tutto come mostrato in figura 11.


Figura 11 - Le opzioni selezionate e la possibilità di avviare l'installazione




A questo punto verrà avviata la fase vera e propria di installazione, come riportato in figura 12.

Figura 12 - Installazione di Windows 10



Anche in questo caso, ci può mettere variati minuti, anche oltre un'ora. Seguiranno le varie schermate con indicazioni dell'installazione, il tutto come mostrato in figura 13.


Figura 13
Terminata questa fase, si passerà alla configurazione, che non riportiamo tutte le schermate ma solo alcune.

Figura 14- la configurazione al termine dell'installazione.

Al termine ci saranno una serie di domande al quale occorre dare delle risposte.


Figura 15 - le varie impostazioni









 

 

Figura 16 . Le impostazioni del browser.





 Impostate le ultime configurazione, avremo il nostro Windows 10.

Figura 17 - Windows 10 installazione


 Se andiamo in Pannello di Controllo, e poi dalla finestra selezioniamo "Sistema" vedremo la situazione della licenza, il tutto come mostrato in figura 18.



Figura 18 - La licenza

 Conclusioni

Una grande opportunità da cogliere immediatamente visto che fornisce la possibilità di passare gratuitamente a Windows 10.

Windows 7, da poche settimane non offre più aggiornamento del sistema e se il pc è idoneo potremmo avere un pc con un sistema operativo innovativo e sicuro.












venerdì 7 febbraio 2020

Sito su Sql Server

Un sito di base sul database Sql Server con il quale trovare informazioni utili o migliorare la propria conoscenza di questo database.
Il sito https://www.sqlservertutorial.net/ in lingua inglese, offre interessanti articoli ed informazioni sulle varie istruzioni SQL e database Sql Server.

giovedì 6 febbraio 2020

Download gioco gratuito Carcassonne




Un nuovo gioco proposto da Epicagmes per Windows 7 e versioni successive scaricabile gratuitamente.
Fino al 13 febbraio 2020, si potrò scaricare il gioco Carcassonne dal seguente indirizzo https://www.epicgames.com/store/it/product/carcassonne/home senza limitazioni e durata.

download gratuito ebook NuGet In-House

Nuget In-House Succinctly


Un ebook in lingua inglese sulla tecnologia Nuget ed in formato pdf per conoscere questa tecnologia.
Il libro con le sue 100 pagine, fornisce le basi di questa tecnologia.
Si può scaricare gratuitamente dal seguente sito https://www.syncfusion.com/ebooks/nuget-in-house-succinctly

mercoledì 5 febbraio 2020

how to set the value of selected option jquery

Il frammento di codice qui di seguito, permette di impostare il valore di una option in Asp.Net MVC Core tramite Jquery utilizzando il metodo Change.
Verrà selezionato il secondo elemento quello con id = 1.


 select class="SelectElenco" size="1" id="SelectElenco">
 option value="0">Luigi</option
option value="1">Emanuele/option>
option value="2">Marco</option

$("#SelectElenco").val("1").change();

martedì 4 febbraio 2020

Non è possibile convertire espressione lambda nel tipo 'string' perché non è un tipo delegato

Se stiamo utilizzando linq to Entity, può capitare che venga visualizzato il messaggio "cannot convert lambda expression to type 'string' because it is not a delegate type".
Per esempio il frammento di codice qui di seguito, genera tale errore nella parte include.

Entita.NomeTabella.Include(c => c.TabellaRelazione).Include(c => c.TabellaRelazione2);

Questo è dovuto perchè non abbiamo aggiunto lo spazio dei nomi System.Data.Entity;
Una volta aggiunto non avremo più questo errore.

lunedì 3 febbraio 2020

Jquery convertire in intero

Nel caso che vogliamo convertire una variabile in intero, utilizzare la funzione parseInt.

Qui di seguito un esempio di codice

parseInt(13.56);

domenica 2 febbraio 2020

Rinominare l'estensione tutti i file di una cartella

Nel caso che abbiamo la necessita di rinominare i file con una nuova estensione di una cartella, tramite comando sul prompt di Windows, possiamo rinominarli tutti.
Tramite il comando ren rinominiamo tutti i file di una cartella con l'estensione indicata. Nell'esempio seguente vengono rinominati tutti i file in file immagine di tipo .Jpg.
Qui di seguito il comando da eseguire tramite prompt di Windows:

ren *.* *.jpg

sabato 1 febbraio 2020

Download gratuito del gioco Farming Simulator 19



Un bellissimo gioco da scaricare gratuitamente e senza limitazioni che la Epic Games regala fino al 6 febbraio 2020.
Il famoso gioco Farming Smulator giunto alla versione 19 in lingua italiana e per pc è scaricabile gratuitamente dal seguente sito https://www.epicgames.com/store/it/product/farming-simulator-19/home fino al 6 febbraio 2020.

Condividere immagini gratuitamente tramite sito

Postimage

Un sito in lingua italiana che fornisce un servizio gratuito di condivisione immagine per inviare alle persone o condividerle in social e siti.
Il sito visibile qui https://postimages.org/ senza registrazione e senza lasciare email offre la possibilità di condividere le proprie immagini.
Molto semplice da utilizzare.