Skip to content

Commit

Permalink
Admin panel - Knowledgebase settings - use automapper
Browse files Browse the repository at this point in the history
  • Loading branch information
KrzysztofPajak committed Sep 22, 2021
1 parent ca30207 commit a64a6b4
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 8 deletions.
12 changes: 4 additions & 8 deletions src/Web/Grand.Web.Admin/Controllers/SettingController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,10 @@ public async Task<IActionResult> Content()
var knowledgebaseSettings = _settingService.LoadSetting<KnowledgebaseSettings>(storeScope);
var model = new ContentSettingsModel() {
BlogSettings = blogSettings.ToModel(),
NewsSettings = newsSettings.ToModel()
NewsSettings = newsSettings.ToModel(),
KnowledgebaseSettings = knowledgebaseSettings.ToModel()
};
model.KnowledgebaseSettings.Enabled = knowledgebaseSettings.Enabled;
model.KnowledgebaseSettings.AllowNotRegisteredUsersToLeaveComments = knowledgebaseSettings.AllowNotRegisteredUsersToLeaveComments;
model.KnowledgebaseSettings.NotifyAboutNewArticleComments = knowledgebaseSettings.NotifyAboutNewArticleComments;


model.ActiveStore = storeScope;
return View(model);
}
Expand All @@ -142,9 +140,7 @@ public async Task<IActionResult> Content(ContentSettingsModel model)

//knowledgebase
var knowledgeBaseSettings = _settingService.LoadSetting<KnowledgebaseSettings>(storeScope);
knowledgeBaseSettings.Enabled = model.KnowledgebaseSettings.Enabled;
knowledgeBaseSettings.AllowNotRegisteredUsersToLeaveComments = model.KnowledgebaseSettings.AllowNotRegisteredUsersToLeaveComments;
knowledgeBaseSettings.NotifyAboutNewArticleComments = model.KnowledgebaseSettings.NotifyAboutNewArticleComments;
knowledgeBaseSettings = model.KnowledgebaseSettings.ToEntity(knowledgeBaseSettings);
await _settingService.SaveSetting(knowledgeBaseSettings, storeScope);

//selected tab
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using Grand.Domain.Knowledgebase;
using Grand.Infrastructure.Mapper;
using Grand.Web.Admin.Models.Settings;

namespace Grand.Web.Admin.Extensions
{
public static class KnowledgebaseSettingsMappingExtensions
{
public static ContentSettingsModel.KnowledgebaseSettingsModel ToModel(this KnowledgebaseSettings entity)
{
return entity.MapTo<KnowledgebaseSettings, ContentSettingsModel.KnowledgebaseSettingsModel>();
}
public static KnowledgebaseSettings ToEntity(this ContentSettingsModel.KnowledgebaseSettingsModel model, KnowledgebaseSettings destination)
{
return model.MapTo(destination);
}
}
}
19 changes: 19 additions & 0 deletions src/Web/Grand.Web.Admin/Mapper/KnowledgebaseSettingsProfile.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using AutoMapper;
using Grand.Domain.Knowledgebase;
using Grand.Infrastructure.Mapper;
using Grand.Web.Admin.Models.Settings;

namespace Grand.Web.Admin.Mapper
{
public class KnowledgebaseSettingsProfile : Profile, IAutoMapperProfile
{
public KnowledgebaseSettingsProfile()
{
CreateMap<KnowledgebaseSettings, ContentSettingsModel.KnowledgebaseSettingsModel>()
.ForMember(dest => dest.UserFields, mo => mo.Ignore());
CreateMap<ContentSettingsModel.KnowledgebaseSettingsModel, KnowledgebaseSettings>();
}

public int Order => 0;
}
}

0 comments on commit a64a6b4

Please sign in to comment.