Skip to content

Commit

Permalink
Admin panel - Admin search - use automapper
Browse files Browse the repository at this point in the history
  • Loading branch information
KrzysztofPajak committed Sep 22, 2021
1 parent 7ef1f48 commit c6e3846
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 54 deletions.
56 changes: 2 additions & 54 deletions src/Web/Grand.Web.Admin/Controllers/SettingController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -907,34 +907,7 @@ private void SavePushNotificationsToFile(PushNotificationsSettingsModel model)
public IActionResult AdminSearch()
{
var settings = _settingService.LoadSetting<AdminSearchSettings>();
var model = new AdminSearchSettingsModel {
SearchInBlogs = settings.SearchInBlogs,
SearchInCategories = settings.SearchInCategories,
SearchInCustomers = settings.SearchInCustomers,
SearchInCollections = settings.SearchInCollections,
SearchInNews = settings.SearchInNews,
SearchInOrders = settings.SearchInOrders,
SearchInProducts = settings.SearchInProducts,
SearchInPages = settings.SearchInPages,
MinSearchTermLength = settings.MinSearchTermLength,
MaxSearchResultsCount = settings.MaxSearchResultsCount,
ProductsDisplayOrder = settings.ProductsDisplayOrder,
CategoriesDisplayOrder = settings.CategoriesDisplayOrder,
CollectionsDisplayOrder = settings.CollectionsDisplayOrder,
PagesDisplayOrder = settings.PagesDisplayOrder,
NewsDisplayOrder = settings.NewsDisplayOrder,
BlogsDisplayOrder = settings.BlogsDisplayOrder,
CustomersDisplayOrder = settings.CustomersDisplayOrder,
OrdersDisplayOrder = settings.OrdersDisplayOrder,
SearchInMenu = settings.SearchInMenu,
MenuDisplayOrder = settings.MenuDisplayOrder,
CategorySizeLimit = settings.CategorySizeLimit,
BrandSizeLimit = settings.BrandSizeLimit,
CollectionSizeLimit = settings.CollectionSizeLimit,
VendorSizeLimit = settings.VendorSizeLimit,
CustomerGroupSizeLimit = settings.CustomerGroupSizeLimit
};

var model = settings.ToModel();
return View(model);
}

Expand All @@ -943,32 +916,7 @@ public IActionResult AdminSearch()
public async Task<IActionResult> AdminSearch(AdminSearchSettingsModel model)
{
var settings = _settingService.LoadSetting<AdminSearchSettings>();
settings.SearchInBlogs = model.SearchInBlogs;
settings.SearchInCategories = model.SearchInCategories;
settings.SearchInCustomers = model.SearchInCustomers;
settings.SearchInCollections = model.SearchInCollections;
settings.SearchInNews = model.SearchInNews;
settings.SearchInOrders = model.SearchInOrders;
settings.SearchInProducts = model.SearchInProducts;
settings.SearchInPages = model.SearchInPages;
settings.MinSearchTermLength = model.MinSearchTermLength;
settings.MaxSearchResultsCount = model.MaxSearchResultsCount;
settings.ProductsDisplayOrder = model.ProductsDisplayOrder;
settings.CategoriesDisplayOrder = model.CategoriesDisplayOrder;
settings.CollectionsDisplayOrder = model.CollectionsDisplayOrder;
settings.PagesDisplayOrder = model.PagesDisplayOrder;
settings.NewsDisplayOrder = model.NewsDisplayOrder;
settings.BlogsDisplayOrder = model.BlogsDisplayOrder;
settings.CustomersDisplayOrder = model.CustomersDisplayOrder;
settings.OrdersDisplayOrder = model.OrdersDisplayOrder;
settings.SearchInMenu = model.SearchInMenu;
settings.MenuDisplayOrder = model.MenuDisplayOrder;
settings.CategorySizeLimit = model.CategorySizeLimit;
settings.BrandSizeLimit = model.BrandSizeLimit;
settings.CollectionSizeLimit = model.CollectionSizeLimit;
settings.VendorSizeLimit = model.VendorSizeLimit;
settings.CustomerGroupSizeLimit = model.CustomerGroupSizeLimit;

settings = model.ToEntity(settings);
await _settingService.SaveSetting(settings);

//now clear cache
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using Grand.Domain.AdminSearch;
using Grand.Infrastructure.Mapper;
using Grand.Web.Admin.Models.Settings;

namespace Grand.Web.Admin.Extensions
{
public static class AdminSearchSettingsMappingExtensions
{
public static AdminSearchSettingsModel ToModel(this AdminSearchSettings entity)
{
return entity.MapTo<AdminSearchSettings, AdminSearchSettingsModel>();
}
public static AdminSearchSettings ToEntity(this AdminSearchSettingsModel model, AdminSearchSettings destination)
{
return model.MapTo(destination);
}
}
}
18 changes: 18 additions & 0 deletions src/Web/Grand.Web.Admin/Mapper/AdminSearchSettingsProfile.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using AutoMapper;
using Grand.Domain.AdminSearch;
using Grand.Infrastructure.Mapper;
using Grand.Web.Admin.Models.Settings;

namespace Grand.Web.Admin.Mapper
{
public class AdminSearchSettingsProfile : Profile, IAutoMapperProfile
{
public AdminSearchSettingsProfile()
{
CreateMap<AdminSearchSettings, AdminSearchSettingsModel>();
CreateMap<AdminSearchSettingsModel, AdminSearchSettings>();
}

public int Order => 0;
}
}

0 comments on commit c6e3846

Please sign in to comment.