Xamarin Developer Summit Impressions

Last month,  I was in Houston at the Xamarin Developer Summit, a conference by the community and for the community, and I have to admit it was everything I expected and more. You read blogs about past events (Microsoft Build, Evolve, Ignite) but nothing compare to actually attending one.

It was good to meet a large number of community members that you follow daily on twitter, read their articles and actually ask them anything in person.

Continue reading

Notes to Myself: Helpers.cs

My next step is making CodeRush shortcuts for these classes but meanwhile I decided to have them here so I can refer quickly to them.

Update:

This is exactly the type of post that I always find and then I have to look into the source code to get the code I need.

https://www.devexpress.com/Support/Center/Question/Details/T825872/how-to-clone-an-object-example

I wish we had something like https://source.xafmarin.com for XAF.

Continue reading

XAF ColorWheel Module For Win

I had this post in private for a while now, one because I did not think that many people were interested and two because this was actually my first XAF module after taking the training from BITFrameworks a few years back.

Lately, I have been making public a few of other post so why not, let’s put this one out there as well.

The concept of modules in XAF it really interest me because we do a specific functionality once and that is it, we have it available for all future projects if you architecture it right.

Besides the training that I would always recommend, a great article about reusable modules is this one by Dennis. It goes over controllers, actions, localization and more.

Continue reading

XPO Tips and Tricks (2) @ CurrentUser

I am still amazed by the amount of neat tips, tricks and new (or sometimes really old) things I am still learning every day about XAF and XPO only by browsing the daily support tickets.

This time I stumbled upon a couple tickets:

https://www.devexpress.com/Support/Center/Question/Details/T214693/how-to-create-currentuser-parameter-instead-of-currentuserid

https://www.devexpress.com/Support/Center/Question/Details/T468768/is-there-a-way-to-pull-in-the-current-user-into-a-security-criteria-expression

And

https://www.devexpress.com/Support/Center/Question/Details/Q415990/criteria-current-user-property

Those ones made me revisit the docs about Free Joins in XPO and honestly I don’t know why I haven’t been using this more often because it is a beauty.

Continue reading

XPO Tips and Tricks (1)

The new XPO tutorials for ASP.NET Core MVC and Razor Pages with DevExtreme are out so of course I could not wait to test them out. I followed their instructions here and had them running in no time. And it was a beauty but that is not what this article is about. Going trough the source code I stumbled upon this:

unitOfWork.GetObjectByKeyAsync and it reminded me of a mini series I have been wanting to do for a long time. I had a lot of support tickets bookmarked it for this so I guess it is finally time. The article ORM Hate from Martin Fowler which I just recently re-read was also a clear trigger to finally get it done (or at least start it).

Continue reading

How to Deploy a DevExtreme MultiChannel Application in Azure

Not long ago I had to do a really simple project (Web and Mobile) -our focus is web in this article- that its only function was to modify some admin settings in our main application database. We had already an Odata Service running so it made sense to use a DevExtreme MultiChannel Application. As stated in the documentation, using the project template wizard you can create both a multi-channel solution and generate views for the entities from the specified OData service. So I was up and running in no time.

My issue started when I decided to deploy my web (desktop) channel to Azure. Looking for the answer I came across this ticket from DevExpress, it pointed me in the right direction but I still spent a decent amount of time until I finally made it work. A few days back someone in our facebook group had the same exactly question and then this article was born.
 
Continue reading

XAF POS Teaser

Article coming soon.

Some interesting points:

  • Barcode field gets auto-focus to account for scanning capability.
  • On Screen Keybooard gets triggered every time an editable field is focused.
  • Touch UI action automatically increase size of controls and distance between some of their elements.
  • The size and distance are increased according to the TouchScaleFactor value.
  • Font Size selection thanks to Llamachant Framework Modules.

Hope you guys like it. XAF out!

Xamarin.Forms DataPages and DevExpress OData Service

If you have used DevExtreme Project Templates to create mobile apps you know how fast and easy you can get a simple solution working. With just passing the Url of your OData service on the wizard all the views for your entities are generated in a master- detail way. This is a great solution when you need to give access to some data to your users without having to create views, models, bindings, etc. It is all created for you, it is quick and more important, it works. But as a C# developer that is the end of my road. If I have to do any customization at all I then move to Xamarin where I feel more at home.

I was reading an article last week about Xamarin.Forms DataPages and my first thought was: Will it work with DevExpress Odata Service? Spoiler: Yes, It does. 

Continue reading

XAF – ONLY UPPERCASE

This will be another short post like Customs Fields at runtime for XAF. It is a really simple controller and sometimes I wonder when doing a post if the topic maybe it is too (for lack of a better word) simple, but I pat myself in the back because I truly believe that if it helps at least one person I am happy about it (It also helps me when I don’t remember what I did 6 months from now).

The task presented in this post was requested for one of our customers where for some reason they prefer all text inside their windows application exclusively in UPPERCASE.

Weirdly enough their requirement was not for labels, navigation items or actions (I believe they handled that trough localization). What they need was only input data.

As always I did a research trough the support tickets and got it working fairly quick.

Continue reading