RESTier Soft Delete

RESTier è un ottimo sostituto di Lightswitch per quanto riguarda la business logic, senza vincoli per la UI in quanto siamo liberi di usare qualsiasi tecnologia vogliamo purché compatibile con OData V4. Spesso nei software gestionali il Delete non è definitivo, in questo caso si utilizza una proprietà come discriminante tra record “attivi” e “cancellati”,…

Migrazione SMS da Window 10 Mobile a Android

Già di per se è una sofferenza il passaggio da un sistema ad un altro, ma arrivare ad Android dopo aver sempre avuto Windows 10 Mobile, che utilizzo dai tempi della versione 7 (si si proprio la 7, non considerando che prima avevo un 6.5, ma era tutta un’altra cosa), dovendo spostare circa 15mila sms…

HttpClient Patch

Avevo necessità aggiungere un user_metadata ad un account gestito da Auth0 che richiede l’uso del HttpMethod Patch, ma la libreria RestSharp indicata nella loro documentazione non è compatibile con i progetti PCL e guarda casa ma la mia app Xamarin Forms è PCL! Ho provato con una libreria simile, ma restituiva sempre l’errore 400 Bad Request, così ho provato con HttpClient…

Azure B2C authentication_ui_failed

Integrando l’autenticazione della nuova App UWP EasySAD con Azure B2C ricevevo sempre un errore. Consultando i vari canali di supporto è venuto fuori che c’era un’incompatibilità per invece di un valore univoco riceveva un array, in poche parole, basta rimuovere la Claims Email tra i valori restituiti al client.

Xamarin Forms PCL Microsoft.Azure.Mobile.Client.SQLiteStore Android TypeInitializationException

Con il rilascio della versione 3.0.x nel client Android ricevevo la TypeInitializationException, la soluzione è piuttosto semplice dopo aver letto questo. Visto che il problema era legato alla PATH ho risolto il problema con il seguente workaround: PCL Project App.cs Android Project MainActivity.cs nel metodo OnCreate Ed infine modificato la path di riferimento per lo store

Xamarin.Forms Navigation.PushAsync() pagine multiple

Testando lo sviluppo con Xamarin.forms mi sono imbattuto in uno strano comportamento del metodo PushAsync. Usando il metodo e passando un parametro alla pagina funziona a dovere, ma quando creavo la stessa pagina senza passare parametri, la stessa mi veniva riaperta 5 volte. La soluzione è molto semplice, basta impostare a “false” l’animazione.

Azure Mobile Apps with Azure Tables Storage

Per un progetto che si sposava bene con un archiviazione NoSQL ho deciso di provare con Azure Tables Storage, quindi installato il pacchetto nuget Microsoft.Azure.Mobile.Server.Storage e l’immancabile .Swagger per testare le api. Fin qui tutto bene, poi sono passato al client, nel caso specifico basato su Xamarin.Forms e sono iniziati i problemi. Dopo alcune prove…

Azure Mobile Services autenticazione Azure Active Directory

Seguendo le istruzioni per la configurazione dell’autenticazione del sito msdn, ricevevo sempre l’errore AudienceUriValidationFailedException nel log di AMS per la mancata validazione dell’Audience: Could not match: Alla fine ho trovato la soluzione che consiste nell’aggiungere la seguente chiave al web.config del servizio backend .net dell’AMS: La documentazione msdn a volte si perde in un bicchier d’acqua.

Visual Studio Lightswitch howto

Iniziando ad usare Lightswitch in Visual Studio 2013, ritengo utile fare un piccolo promemoria per ricordare che: Il metodo DemandPermissions non può essere usato per la permission SecurityAdmin Nelle query non usare direttamente application.user.name, ma richiamare il suo valore attraverso una proprietà (es. CurrentUserName {get { return this.application.user.name;}})