Sunday, April 29, 2012

NEVERMIND!

My Animal Age for Windows Phone has been submitted! I'll let you know when it's certified and in the marketplace!

SO EXCITING!

Getting really close to releasing my first Windows Phone app. Just cleaning it up, testing some functionality (trial version) and getting my settings/about page looking good.

Probably should it have it out next week at the latest. Pretty exciting!

Friday, April 27, 2012

On a different note: today I learned something very interesting about LINQ To SQL (a C# .NET framework).

Given a database table

In some code at work I wanted to first run through some data extractions, calculate final statistics and then populate this table. But before the insert, I want to find all rows that currently exist that match the same Date and delete.

So what I did was as I create each new row to insert, I make a new object of that Table's type: Daily_Total.

Daily_Total dt = new Daily_Total{ ...,...,...,...};

Then I add it to a generic list of type Daily_Total

List<Daily_Total> dailyList = new List<Daily_Total>();

...(gathering data)...

dailyList.Add(dt); (repeated for every new row)

Once this is all collected, I then do a query on the table to gather those items to delete and do the deletion like such:

dbContext.Daily_Totals.DeleteAllOnSubmit(toDelete);

dbContext.SubmitChanges();

And then the weirdest thing happens that I haven't experienced yet. Not only do the rows I want to delete get deleted, but the generic list of objects of that tables type are INSERTED. No InsertAllOnSubmit(dailyList) or anything. Just simply having a generic collection of those new rows gets itself submitted.

This took me a bit to figure out why my code was throwing a "Cannot insert entry that already exists" exception. I'm going to have to research why this happens. It seems incorrect to me since I may not want a temporary, local version of my new rows to be submitted yet. Of course, I could also be doing something wrong.

Thursday, April 26, 2012

It was decided, some time ago, that the app "My Animal Age" was a rather short-lived app. As in, little time will be spent actually using the app on a per session basis. Thus, in order to generate revenue, it would be nearly impossible to do a free-with-ads realistically.

Thus I removed the ad space at the bottom and will replace it with what I originally wanted to add to this app: animals facts!

So last night, I removed that ad space, integrated the new iconography for tiles and added trial logic to support a trial version. Once I get the logic in place to remind the user that they should buy it if they want access to more than 2 animals and a reminder for ratings, I will add in the facts area to populate once the age calculator is clicked.

It is some serious feature creep. That is for sure. And I do need to get this app out ASAP.

Hmm...maybe I'll wait on the animal facts until a post-release patch.

Wednesday, April 25, 2012

Here are a couple of shots from my upcoming app, My Animal Age:

After much deliberation (a.k.a. discussing with my wife) I came to the conclusion that it would be good to have both a means to show the age of the animal in human years (what would a 34 year old dog be in human years?) and the opposite (what would a 34 year old human be in dog years?).

So I will be putting in some extra effort to provide the means to choose which way you want to have it work. I think this is a good idea.

My first Wolke Werks blog post here on blogspot. Yeah! Go me...

Anyways, the purpose I will hope to accomplish here on this blog is to document my side projects under the moniker of Wolke Werks. I am currently nearing completion of my first Windows Phone app called My Animal Age. I will share details with you later on that, but for now you can see some old posts on Facebook about what I've been doing.

While I do enjoy Facebook, I wanted to wrench away my blogging of my projects to be someplace more devoted to the content. Plus I can eventually customize my theme here to be more personal and appropriate to the branding I hope to accomplish.

You understand. I can tell.

So, there you go. Hope to see you in the future on more blog posts under my grand adventure of Wolke Werks.