DB Migration - Step 1

- Export and Import V3

AccountCategoryEntry:
===============
- Color changed to a number of a color (Not brush)
- Added IconID
- Added ParentName - For categories
- Constructions changes: now they are more formal.

Renamed Methods for more accurate descriptions
- GetEntryByName for list of CategoryAccountEntry
- GetTransactionsInfoGroupingCategoryOrAccount in DBInternal
- LoadDefaultCategoriesAccounts in DBInternal

Transaction:
Added budget property

Current state:
DB would not load because of inconsistency
DB Migration - Step 2

New and Old importers work the same:
retrieving the transaction using public list within the importer.
The GetTransactionList method renamed to CreateTransactionList and is
now returning bool value for success.

Remake of the sync text database importing process. now there is a
progress bar that shows the progress.

If DB error occur while getting transactions an error message appears
that will reset the db.

New transaction constructor initiates the new budget string. this fixed
the bug that put null within the sql-db
Minor text selection and documentation.
Minor documentation.
Minimize button & Documentation
Return to categories from filtered transaction list.
Fixed Account-Type visual when VisualEditable is false.
Category Colors - alpha
Automated Colors
Category Colors - now editable

New color Chooser on floating separator - Taken from myColors. where the
first color is hardcoded transparent

Settings panel allow changing the color of a category.

Fixed array-index related bugs on VisualConverter
New color & Category auto colors
Minor color changes
Account is hidden
New colors with no name

Now more gradient colors
Category Duality

In order to fix the category problem which is:
Categories are not defined. categories list are too abstract and there
is not a real link between a transaction and category.
The Category-String is a nice workaround but it makes life little bit
complicated.

The Category-Duality solution sets the default category list to be the
foundation of the category property. The link between a transaction and
a category would be with the category guid.
In addition, a transaction would still have a category-string property.
If the CategoryID is not set, the name is used the would be shown with
distinct indication that the transaction is not category link and thus
will not be monitored.
In this way we can reserve legacy transactions information.
Category Duality - Visual Conversions

The transaction list now shows the category property,
first as categoryID, is the GUID is not present in the category default
list, or if the categoryID is -1, the property returns to
CategoryString, Which is now shown with special indication.

Little changes on conversion names and documentation details.
CategoryList now knows to look for GUID in addition to the Name
property.

MyFormating now has static global_MainWindow member that is initiated to
the MainWindow instance,
This helps for communication with the MainWindow outside of it. (Like in
the conversion object)
Category Duality - Change transaction category

Still preserving the category duality principle.
When choosing a category from the floating list,
the transaction linked with that category by it's GUID. but when it get
set by manual string (Even if it already linked), the transaction gets a
category-string property and the link is broken.
Category Duality - Link on edit and import

Try to link transaction with no categoryID when importing new DB.
And when changing the category manually, try to find a category with
that name in order to link it.
Category Duality - Category list of linked transactions

On when grouping transaction by categories, The list shows
all the "Default" categories and fuse the DB information into them by
links. Where transaction with no category link will not be counted.
Category list - SubCategory Test

Transaction grouped with categories are now divided into
subcategories.

The list items got smaller.