Skip to content

Conversation

@EnesEfeTokta
Copy link
Owner

This pull request introduces significant changes to the FinTrack application, focusing on adding new models, view models, converters, and styles to enhance functionality and user experience. The key changes include the addition of new models for accounts, budgets, and transactions, the implementation of converters for UI binding, and the creation of view models to manage data and user interactions. Below is a categorized summary of the most important changes:

Model Enhancements:

  • Added AccountModel, BudgetModel, and TransactionModel classes to represent core entities in the application. These models include properties, computed fields, and data annotations to support features like progress tracking, balance visualization, and icon styling. (FinTrack/Models/Account/AccountModel.cs [1] FinTrack/Models/Budget/BudgetModel.cs [2] FinTrack/Models/Transaction/TransactionModel.cs [3]
  • Introduced AccountBalanceHistoryPoint to track historical account balance data. (FinTrack/Models/Account/AccountBalanceHistoryPoint.cs FinTrack/Models/Account/AccountBalanceHistoryPoint.csR1-R8)

View Model Additions:

  • Implemented AccountViewModel to manage account-related data and operations, including adding, editing, deleting, and preparing accounts for user interaction. (FinTrack/ViewModels/AccountViewModel.cs FinTrack/ViewModels/AccountViewModel.csR2-R129)
  • Implemented BudgetViewModel to manage budget-related data and operations, including CRUD operations and progress tracking. (FinTrack/ViewModels/BudgetViewModel.cs FinTrack/ViewModels/BudgetViewModel.csR2-R145)

UI Converters:

UI Styling:

Dependency Injection:

  • Registered AccountView in the service container to support dependency injection for account-related views. (FinTrack/App.xaml.cs FinTrack/App.xaml.csR65-R66)

Added a new folder for Account models in the project file. Cleaned up the AccountView.xaml by removing design height and width attributes.
Added AccountModel and AccountViewModel to support account CRUD operations using the MVVM pattern. Updated AccountView to bind to the new ViewModel, display dynamic account data, and enable editing and deletion. Removed MainWindow.xaml and cleaned up code-behind files.
Introduced AccountBalanceHistoryPoint model and added a history property to AccountModel for tracking balance changes. Enhanced AccountViewModel with improved account selection, editing, and sample data initialization. Added BooleanToVisibilityConverter helper and updated AccountView.xaml for better UI structure and data binding. Minor cleanup in BudgetView.xaml.
…management

Removed leftover merge conflict markers and unified logic in AccountModel, AccountViewModel, and AccountView.xaml. Refactored account editing and creation logic, improved nullability handling, and cleaned up XAML layout for account management UI.
Introduces BudgetModel and BudgetViewModel for managing budgets, including properties for name, amount, target, dates, and currency. Implements CRUD operations and form state management in BudgetViewModel. Updates BudgetView.xaml to bind to the new ViewModel, enabling dynamic budget listing, editing, and deletion. Adds a modern DatePicker style and cleans up related code and comments.
Added TransactionModel and EnumToBooleanConverter for transaction data and enum binding. Refactored TransactionsViewModel to support adding, editing, and deleting transactions, as well as calculating totals and most spending category. Updated TransactionsView.xaml to bind transaction data, enable form editing, and display dynamic transaction lists. Minor update to BudgetView.xaml for two-way selection binding.
Cleaned up unnecessary using statements in BudgetModel.cs and AccountView.xaml.cs to improve code clarity. Also removed a trailing space in TransactionsViewModel.cs.
@EnesEfeTokta EnesEfeTokta self-assigned this Jul 5, 2025
@EnesEfeTokta EnesEfeTokta added the enhancement New feature or request label Jul 5, 2025
@EnesEfeTokta EnesEfeTokta merged commit fb0974c into main Jul 5, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants