Commit Graph

96 Commits

Author SHA1 Message Date
masoodafar-web
2ae6034fbb refactor: remove admin user id from manual payment command
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m13s
2025-12-12 10:22:09 +03:30
masoodafar-web
094846ce8b feat: add manual membership payment processing with wallet and order management
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 7m8s
2025-12-12 10:07:14 +03:30
masoodafar-web
b19cf5e32e fix: use Gregorian week number for API and Persian for display
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m18s
2025-12-12 09:39:20 +03:30
masoodafar-web
b1c3fcfd66 feat: add Persian calendar support for week numbers and dates
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m35s
2025-12-12 09:18:31 +03:30
masoodafar-web
1f6c5a1f45 fix: update default sorting from descending to ascending Created
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m43s
2025-12-12 07:49:54 +03:30
masoodafar-web
99b217d5b5 fix: change weekly balance sorting from WeekNumber to Created
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m39s
2025-12-12 07:32:22 +03:30
masoodafar-web
8ee3fe6f7b fix: update week calculation to start from Saturday
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m2s
2025-12-12 07:07:28 +03:30
masoodafar-web
3c7ac68eeb feat: enhance network membership response with detailed stats and hierarchy
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m14s
2025-12-12 06:07:23 +03:30
masoodafar-web
f27418cff4 fix: adjust network tree depth limit and update commission mapping
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m5s
2025-12-12 05:42:19 +03:30
masoodafar-web
aba534e07c fix: update week calculation to use Saturday as the start of the week
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m12s
2025-12-12 04:37:34 +03:30
masoodafar-web
db951699f8 fix: handle null pool and adjust week calculation rules
Some checks failed
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
2025-12-12 04:22:16 +03:30
masoodafar-web
bb6b7c709c feat: add search text filter for user query
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m40s
2025-12-12 03:18:18 +03:30
masoodafar-web
ff1c1d5d61 feat: add IsActive field to UserClubFeatures for admin management 2025-12-12 01:40:26 +03:30
masoodafar-web
217ef147dd feat: Implement manual payment system with gRPC service and related commands/queries 2025-12-05 17:26:58 +03:30
masoodafar-web
ee1fa9d064 feat: Enhance withdrawal request handling with additional fields and network level configurations 2025-12-04 19:53:30 +03:30
masoodafar-web
5e3112d71f feat: Implement withdrawal reports query and service integration 2025-12-04 17:29:10 +03:30
masoodafar-web
ba6d74fe35 feat: Implement Public Message Management Commands and Queries
- Add GetUserPackageStatusQueryValidator for user package status validation.
- Create ArchiveMessageCommand and ArchiveMessageCommandHandler for archiving public messages.
- Implement ArchiveMessageCommandValidator to validate message ID.
- Introduce PublishMessageCommand and PublishMessageCommandHandler for publishing messages.
- Add PublishMessageCommandValidator for validating publish message requests.
- Implement GetPublicMessageQuery and GetPublicMessageQueryHandler for retrieving public messages.
- Create GetPublicMessageQueryValidator for validating public message requests.
- Add ApplyDiscountToOrderCommand and ApplyDiscountToOrderCommandHandler for applying discounts to orders.
- Implement ApplyDiscountToOrderCommandValidator for validating discount application requests.
- Create UpdateOrderStatusCommand and UpdateOrderStatusCommandHandler for changing order statuses.
- Implement UpdateOrderStatusCommandValidator for validating order status updates.
- Add CalculateOrderPVQuery and CalculateOrderPVQueryHandler for calculating order PV.
- Implement CalculateOrderPVQueryValidator for validating PV calculation requests.
- Create GetOrdersByDateRangeQuery and GetOrdersByDateRangeQueryHandler for retrieving orders by date range.
- Implement GetOrdersByDateRangeQueryValidator for validating date range queries.
- Add PublicMessage entity to represent public messages in the system.
- Implement PublicMessageService for handling public message operations via gRPC.
2025-12-04 03:43:19 +03:30
masoodafar-web
84f642e900 feat: Implement bulk update for product prices and stock, and add low stock products query and toggle product status functionality 2025-12-04 02:56:03 +03:30
masoodafar-web
f0f48118e7 Add validators and services for Product Galleries and Product Tags
- Implemented Create, Delete, Get, and Update validators for Product Galleries.
- Added Create, Delete, Get, and Update validators for Product Tags.
- Created service classes for handling Discount Categories, Discount Orders, Discount Products, Discount Shopping Cart, Product Categories, Product Galleries, and Product Tags.
- Each service class integrates with CQRS for command and query handling.
- Established mapping profiles for Product Galleries.
2025-12-04 02:40:49 +03:30
masoodafar-web
78606cc5cc feat: Add ClearCart command and response, implement CancelOrder command with validation, and enhance DeliveryStatus and User models 2025-12-02 03:30:36 +03:30
masoodafar-web
25fc73ae28 feat: Enhance network membership and withdrawal processing with user tracking and logging 2025-12-01 20:52:18 +03:30
masoodafar-web
4aaf2247ff feat: Implement Approve and Reject Withdrawal commands with handlers 2025-12-01 16:48:07 +03:30
masoodafar-web
199e7e99d1 feat: Add monitoring alerts skeleton and enhance worker with notifications 2025-11-30 20:18:10 +03:30
masoodafar-web
487d1ceb15 feat: Add CommissionCQ - Phase 5 Application Layer
Added 5 Commands and 4 Queries for commission calculation and payout system:

Commands:
- CalculateWeeklyBalances: Recursive binary tree traversal for leg balances
- CalculateWeeklyCommissionPool: Calculate ValuePerBalance from total pool
- ProcessUserPayouts: Distribute commission to users, create payout records
- RequestWithdrawal: User requests cash/diamond withdrawal
- ProcessWithdrawal: Admin approves/rejects withdrawal

Queries:
- GetWeeklyCommissionPool: Retrieve pool details
- GetUserCommissionPayouts: List payouts with filters (status, week, user)
- GetCommissionPayoutHistory: Complete audit trail
- GetUserWeeklyBalances: Show leg balances and contributions

Total: 35 files, ~1,100 lines of code
Binary tree algorithm, state machine, withdrawal system implemented
2025-11-29 04:32:17 +03:30
masoodafar-web
db96a02f89 feat: Add NetworkMembershipCQ - Phase 4 Application Layer
- Implemented 3 Commands with handlers and validators:
  * JoinNetworkCommand: Add user to binary network tree
    - Validates parent exists and is in network
    - Validates leg position is empty
    - Records history with NetworkMembershipAction.Join
  * MoveInNetworkCommand: Move user to different position
    - Validates new parent and leg availability
    - Prevents circular dependencies (IsDescendant check)
    - Records old/new parent and leg in history
  * RemoveFromNetworkCommand: Remove user from network
    - Validates no children exist (must move/remove first)
    - Soft delete (sets NetworkParentId to null)
    - Idempotent design

- Implemented 3 Queries with handlers, validators, and DTOs:
  * GetNetworkTreeQuery: Binary tree visualization
    - Recursive tree building with MaxDepth limit (1-10)
    - Returns nested structure with Left/Right children
  * GetUserNetworkPositionQuery: User position details
    - Parent info, leg position, children counts
    - Left/Right child counts for balance view
  * GetNetworkMembershipHistoryQuery: Complete audit trail
    - Filter by UserId, pagination support
    - Shows Join/Move/Remove actions with full details

- All operations include complete history tracking
- Binary tree validation (parent-child relationships)
- Circular dependency prevention in MoveInNetwork
- 21 new files, ~850 lines of code
- Build successful with 0 errors
2025-11-29 04:19:40 +03:30
masoodafar-web
fe66d478ee feat: Add ClubMembershipCQ - Phase 3 Application Layer
- Implemented 3 Commands with handlers and validators:
  * ActivateClubMembership: Create/reactivate membership
  * DeactivateClubMembership: Deactivate existing membership
  * AssignClubFeature: Assign features to club members

- Implemented 3 Queries with handlers, validators, and DTOs:
  * GetClubMembership: Retrieve single membership by UserId
  * GetAllClubMemberships: List with filtering and pagination
  * GetClubMembershipHistory: Audit trail with full history

- All operations include history tracking via ClubMembershipHistory
- Property names aligned with Domain entity definitions
- 21 new files, ~600 lines of code
- Build successful with 0 errors
2025-11-29 04:13:27 +03:30
masoodafar-web
f6fa070067 feat: Add ConfigurationCQ - Phase 2 Application Layer
Implemented complete CQRS pattern for System Configuration management:

Commands:
- SetConfigurationValueCommand: Create or update configurations with history tracking
- DeactivateConfigurationCommand: Deactivate configurations with audit trail

Queries:
- GetConfigurationByKeyQuery: Retrieve configuration by Scope and Key
- GetAllConfigurationsQuery: List all configurations with filters and pagination
- GetConfigurationHistoryQuery: View complete audit history for any configuration

Features:
- All commands include FluentValidation validators
- History recording to SystemConfigurationHistory table
- Pagination support for list queries
- DTOs for clean data transfer
- Null-safe implementations

Updated:
- IApplicationDbContext: Added 11 new DbSets for network-club entities
- GlobalUsings: Added new entity namespaces

Build Status:  Success (0 errors, 184 warnings in legacy code)
2025-11-29 04:02:02 +03:30
masoodafar-web
99ef7983f8 Add CreatedAt field to wallet change log responses 2025-11-28 14:07:10 +03:30
masoodafar-web
a3c7033d95 Add CategoryId filter to product query and proto 2025-11-28 11:00:36 +03:30
masoodafar-web
ce2bf3f1f0 Make amount, user_id and address_id optional in user order update 2025-11-28 04:02:00 +03:30
masoodafar-web
84f08f11e4 Make package_id optional in user order proto and command 2025-11-28 02:47:27 +03:30
masoodafar-web
746c0b2542 Fix filter null checks and status comparisons in order query 2025-11-27 23:24:26 +03:30
masoodafar-web
b706e02d4f Update payment date filter to use greater than or equal comparison 2025-11-27 18:58:28 +03:30
masoodafar-web
38ce54d367 Fix PaymentStatus comparison in order filter query 2025-11-27 18:49:01 +03:30
masoodafar-web
c011645433 Add user full name and national code to order responses 2025-11-27 18:21:17 +03:30
masoodafar-web
32b7cb3238 Add delivery tracking fields to UserOrder entity 2025-11-27 06:39:47 +03:30
masoodafar-web
23ac9f77a1 Add category support to products commands and queries 2025-11-27 05:39:26 +03:30
masoodafar-web
e2bd966098 update4 2025-11-25 05:46:46 +03:30
masoodafar-web
7ba48b2f11 update3 2025-11-25 05:39:39 +03:30
masoodafar-web
c01e85381c update2 2025-11-25 05:23:55 +03:30
masoodafar-web
dcb3ce69a8 update1 2025-11-25 04:59:50 +03:30
masoodafar-web
b91c83db7e Generator Changes at 11/25/2025 4:32:37 AM +03:30 2025-11-25 04:33:50 +03:30
masoodafar-web
1a0012eb86 update 2025-11-25 03:56:45 +03:30
masoodafar-web
88f38f5d8e update 2025-11-25 03:04:00 +03:30
masoodafar-web
8a7d02ce81 Generator Changes at 11/25/2025 2:19:02 AM +03:30 2025-11-25 02:21:08 +03:30
masoodafar-web
92a9a0e75d Generator Changes at 11/25/2025 1:59:23 AM +03:30 2025-11-25 02:03:51 +03:30
masoodafar-web
87842f0b9b update 2025-11-25 01:58:45 +03:30
masoodafar-web
a2d293ed01 update 2025-11-25 00:39:31 +03:30
masoodafar-web
25eee4ede3 Merge branch 'newmain' 2025-11-24 23:22:18 +03:30
masoodafar-web
6cd0a45336 update 2025-11-24 22:55:14 +03:30