- Updated `DiscountActionDialogBoxViewModel` to include asynchronous `SubmitCreateAsync` and `Cancel` methods.
- Added a new section in `PageActionDialogBox.razor` with a `MudStack` for adding sections, removing the previous grid layout.
- Improved `PageActionDialogBox.razor.cs` with new methods for adding and editing sections, enhancing error handling and dialog management.
- Refined `app.min.css` by removing redundant CSS properties for better style application.
- Created a new dialog in `PageSectionActionDialogBox.razor` for managing section details, including fields for title, button text, and URL.
- Introduced a new view model in `PageSectionActionDialogBox.razor.cs` to handle section dialog logic, including item addition and file selection.
- Updated `BasePageSection` class in `BasePage.cs` to manage multiple `SectionItem` objects.
- Modified project files (`Netina.Common.csproj` and `Netina.Domain.csproj`) to update the target framework and package references for compatibility.
- 🔥 Removed unused `using` directives in `PageActionDialogBox.razor.cs`.
- 💄 Updated `MudItem` column widths in `SubProductActionDialogBox.razor`.
- 🆙 Bumped `AssemblyVersion` and `FileVersion` in `Netina.AdminPanel.PWA.csproj`.
- 🆙 Bumped `AssemblyVersion` and `FileVersion` in `Netina.Api.csproj`.
- 🛠️ Improved layout for `MudSelect` and `MudTextField` components.
- 🧹 Reduced unnecessary dependencies for better code readability.
- 🚀 Prepared for new release with updated project versioning.
- 📐 Adjusted UI spacing for better alignment on larger screens.
- 🔧 General maintenance and improvements in `.csproj` files.
Changes made by Amir.h Khademi
- ➕ Add `MudAutocomplete` for brand selection in UI
Introduced a new component in `DiscountActionDialogBox.razor`.
- 🆕 Introduce `IsBrandEnable` property in ViewModel
Added to manage the state of brand-specific discounts.
- 🔄 Update ViewModel logic for `IsBrandEnable`
Ensured mutual exclusivity with other discount types.
- 🛠️ Handle brand selection in `SubmitEditAsync`
Added logic for brand selection and validation.
- 🔍 Modify `SearchBrand` method in ViewModel
Fetch and return brand data for selection.
- 📦 Change target framework to `net5.0`
Updated `Netina.Common.csproj` and `Netina.Domain.csproj`.
- 🆙 Update `UpdateDiscountCommand` and `DiscountLDto`
Included `BrandId` and `BrandName` properties.
- 🛠️ Modify `UpdateDiscountCommandHandler`
Handle brand-specific discount updates.
- 🆕 Add `SubmitEditAsync` method in ViewModel
For handling discount edits.
Changes made by Amir.H Khademi
- 🖼️ Update SubProductActionDialogBox.razor layout
Adjust grid item sizes and add new input field for DiversitySecondaryValue.
- 🧑💻 Update SubProductActionDialogBoxViewModel
Include DiversitySecondaryValue parameter in command constructors.
- 📈 Increment version in Netina.AdminPanel.PWA.csproj
Update AssemblyVersion and FileVersion to 1.12.22.38.
- 🆕 Add BrandDiscountMapper.g.cs
Introduce static partial class BrandDiscountMapper in Netina.Domain.Mappers.
- 🗃️ Add migration 20250414120653_EditSubProductValue.cs
Add DiversitySecondaryValue column to Products table.
- 🏷️ Update SubProduct related classes and methods
Add DiversitySecondaryValue property to CreateSubProductCommand, UpdateSubProductCommand, and SubProductSDto.
- 🛠️ Modify command handlers
Update CreateSubProductCommandHandler and UpdateSubProductCommandHandler to handle DiversitySecondaryValue.
- 🗄️ Update Product.Aggregate.cs and SubProduct.cs
Include DiversitySecondaryValue property in SubProduct class.
- 🔄 Update SubProductMapper.g.cs
Map DiversitySecondaryValue property in SubProductMapper.
Changes made by Amir.H Khademi
* ✨ Introduce `EditDisc` migration in `NetinaShop.Repository.Migrations`
* 🗃️ Add `BrandId` column to `OrderProducts` and `Discounts` tables
* 🛠️ Set default value for `BrandId` in `OrderProducts` to `00000000-0000-0000-0000-000000000000`
* 🗃️ Make `BrandId` in `Discounts` nullable
* 🏷️ Create index on `BrandId` in `Discounts` table
* 🔗 Add foreign key constraint from `Discounts` to `Brands` on `BrandId`
* 🔄 Implement `Down` method to reverse migration changes
* ⬆️ Update target framework to `net8.0`
* 🔢 Increment `AssemblyVersion` and `FileVersion` in `Netina.Api.csproj`
* 🏷️ Add `BrandId` and `Count` properties to `ApplicationContextModelSnapshot.cs`
* 🆕 Add `BrandDiscount` entity inheriting from `Discount` with `BrandId` property
Changes made by Amir.h Khademi
- `PageActionDialogBox.razor`: Add form fields and data grid
Added fields for section title, button title, address, description, type, and query. Added button and data grid for sections.
- `PageActionDialogBox.razor.cs`: Add `InitializeAsync` method
Added using directives, `InitializeAsync` method, `IsEditing` flag, and `PageId` property.
- `PagesManagementPage.razor`: Add edit button for pages
Added edit button to trigger `EditPageAsync` method for each page.
- `PagesManagementPage.razor.cs`: Refactor for constructor injection
Refactored to use constructor injection. Added `EditPageAsync` method and updated `RemovePageAsync` method.
- `IPageRestApi.cs`: Change return type of `ReadById` method
Updated return type from `BasePageSDto` to `BasePageLDto`.
Changes made by Amir.H Khademi
* ✨ Added `default` parameter to `DiscountActionDialogBoxViewModel`
* 🔧 Updated `@inject` in `ShippingActionDialogBox.razor` with new services
* ⬆️ Upgraded dependencies in `package-lock.json` and `package.json`
* 📝 Changed `IsShop` setting in `appsettings.Production.json` to `true`
* 💄 Updated `app.min.css` for Tailwind CSS v3.4.17 changes
* 🆕 Added `PageActionDialogBox.razor` and `PageActionDialogBox.razor.cs`
* 🆕 Introduced `BasePageLDto` class for detailed page info
* 🚀 Added `MapPost` endpoint for updating pages in `PageController.cs`
* 🔄 Refactored methods in `PageController.cs` for conciseness
* 🛠️ Updated `IPageService` and `PageService` with `UpdatePageAsync`
* 🗂️ Enhanced `SiteMapService` to filter pages by `Indexing`
* 🛒 Included `BrandId` in order bag commands
Changes made by Amir.h Khademi
* 🆕 Added support for brand discounts in `CalculateOrderDiscountCommandHandler`
* 🏷️ Updated `DiscountCommands` class to include `BrandId` property
* 🏗️ Introduced `BrandDiscount` class in `Discount.Aggregate.cs` with `Create` method
* 🛠️ Modified `Order` class in `Order.Aggregate.cs` to handle `BrandId`
* 🏷️ Updated `OrderProduct` class in `Order.Aggregate.cs` to include `BrandId` property
* 🆕 Added `Brand` discount type to `DiscountType` enum
* ✨ Enhanced `CreateDiscountCommandHandler` and `UpdateDiscountCommandHandler` for brand discounts
* 🆕 Introduced `BrandDiscount` class in `BrandDiscount.cs` to represent brand-specific discounts
Changes made by Amir.h Khademi
Introduced a new feature for managing sub-products within the application. This includes:
- Added a new tab panel for "Sub Products" in `ProductActionDialogBox.razor`.
- Created `SubProductActionDialogBox` component for sub-product creation and editing.
- Updated `ProductActionDialogBoxViewModel` to handle sub-product operations.
- Modified `Address` class and `IProductRestApi` interface to support sub-products.
- Added `SubProductController` for API requests related to sub-products.
- Introduced command and query classes for sub-product operations.
- Created `SubProductSDto` for sub-product data transfer.
- Added `SubProduct` class inheriting from `Product` with additional properties.
- Introduced `ProductDiversity` and `ColorDiversity` enums.
- Added `SubProductMapper` for mapping between `SubProduct` and `SubProductSDto`.
- Implemented command handlers for sub-product CRUD operations.
- Added migration script `20241217212716_AddSubProduct` to update the database schema.
- Updated `ProductController`, `SiteMapService`, and `Product` class to support sub-products.
- Added `SubProductActionDialogBox.razor` for sub-product UI management.
- Removed unused @using directives in App.razor and BrandsPage.razor.
- Added UI elements for meta tags in BrandActionDialogBox.razor.
- Updated BrandActionDialogBoxViewModel to handle meta tags.
- Changed label text in DiscountActionDialogBox.razor.
- Updated assembly and file versions in Netina.AdminPanel.PWA.csproj.
- Added BlogMetaTag and BrandMetaTag classes.
- Added migration to update database schema for meta tags.
- Updated BlogController to handle meta tags.
- Set LangVersion to latest in multiple project files.
- Changed array initialization syntax in various files.
- Added MetaTags property to BlogLDto and BrandLDto classes.
- Updated Blog and Brand classes to handle meta tags.
- Refactored mappers to include meta tags handling.
- Improved product sorting in GetProductsQueryHandler.cs.
- Updated ApplicationContextModelSnapshot for new entities.
- Updated `DiscountActionDialogBoxViewModel` and `FastProductCreateDialogBoxViewModel` to create command objects directly from properties and improved error handling.
- Added meta tag management UI and logic in `ProductActionDialogBox.razor` and `ProductActionDialogBoxViewModel`.
- Increased max file read stream size to 8 MB in `StorageDialogBoxViewModel`.
- Incremented `AssemblyVersion` and `FileVersion` to `1.7.20.34` in `Netina.AdminPanel.PWA.csproj`.
- Updated `BrandsPage.razor` and `BrandsPageViewModel` for pagination and service injection.
- Updated `CategoriesPageViewModel` to create command objects directly from properties.
- Updated `ProductsPage.razor` for service injection and added a button for product details.
- Updated `ICrudApiRest` and `ICrudDtoApiRest` interfaces to use generic `Create` methods.
- Updated `appsettings.Development.json` for `StorageBaseUrl` and commented out `IsShop`.
- Added new project `AppHost.csproj` targeting .NET 8.0 with Aspire hosting.
- Added new `appsettings.Development.json` and `appsettings.json` for logging.
- Added new `Program.cs` to create and run a distributed application.
- Added new `launchSettings.json` for application launch settings.
- Added `Extensions.cs` for common .NET Aspire services.
- Added new project `ServiceDefaults.csproj` for shared service defaults.
- Introduced `ProductMetaTag` class and related migration for meta tag handling.
- Updated `OrderController.cs` for additional authorization requirements.
- Updated target frameworks to `net8.0` in various projects.
- Enhanced `SiteMapService.cs` to include brand site maps.
- Added new properties to DTOs for customer and meta tag handling.
- Enhanced `Product` class with meta tag management methods.
- Refactored `OrderMapper.g.cs` and `ProductMapper.g.cs` for improved mapping logic.
- Enhanced command handlers to manage meta tags.
- Added `ICurrentUserService` for user permissions in query handlers.
- Refactored `StorageService.cs` for paginated storage file fetching.
-ADD FAST PRODUCT CREATE DIALOG
-Refactor page and layout and fix some responsive issues
-Refactor brand and product command and return Guid in response create
- NEW VERSION OF PRODUCT CATEGORIES PAGE
- Change products categories page style and ux
- Change icrud api rest and get guid in instead of dto or model