Mango.Nop.Plugins/Nop.Plugin.Misc.AuctionPlugin/Areas/Admin/Controllers/AuctionPluginAdminControlle...

83 lines
3.0 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Nop.Web.Framework.Controllers;
using Nop.Web.Framework.Mvc.Filters;
using Nop.Web.Framework;
using Nop.Plugin.Misc.AuctionPlugin.Areas.Admin.Models;
using Nop.Services.Configuration;
using Nop.Plugin.Misc.AuctionPlugin;
using Nop.Services.Messages;
using Nop.Services.Localization;
using Nop.Services.Logging;
namespace Nop.Plugin.Misc.AuctionPlugin.Areas.Admin.Controllers;
[AutoValidateAntiforgeryToken]
[AuthorizeAdmin]
[Area(AreaNames.ADMIN)]
public class AuctionPluginAdminController : BasePluginController
{
//private readonly SignalRservice _signalRservice;
private readonly ILocalizationService _localizationService;
private readonly INotificationService _notificationService;
private readonly ISettingService _settingService;
private readonly AuctionSettings _auctionSettings;
private readonly ILogger _logger;
//public AuctionPluginAdminController(SignalRservice signalRservice)
public AuctionPluginAdminController(ILocalizationService localizationService, INotificationService notificationService, ISettingService settingService, AuctionSettings auctionSettings, ILogger logger)
{
_localizationService = localizationService;
_notificationService = notificationService;
_settingService = settingService;
_auctionSettings = auctionSettings;
//_signalRservice = signalRservice;
_logger = logger;
}
public async Task<IActionResult> Configure(bool showtour = false)
{
return View("~/Plugins/Misc.AuctionPlugin/Areas/Admin/Views/Configure.cshtml", new ConfigurationModel());
}
[HttpPost, ActionName("Configure")]
[FormValueRequired("save")]
public async Task<IActionResult> Configure(ConfigurationModel model)
{
if (!ModelState.IsValid)
{
await _logger.ErrorAsync($"Auction configuration model error: invalid modelstate!");
return await Configure();
}
if (_auctionSettings.SomeText != model.Test)
{
_auctionSettings.SomeText = model.Test;
await _logger.InformationAsync($"Auction configuration saving: {_auctionSettings.SomeText}");
}
await _settingService.SaveSettingAsync(_auctionSettings);
await _logger.InformationAsync($"Auction configuration saved: {_auctionSettings.SomeText}");
//_notificationService.SuccessNotification(await _localizationService.GetResourceAsync("Admin.Plugins.Saved"));
_notificationService.SuccessNotification("Saved");
return await Configure();
}
//[HttpPost]
//public async Task<IActionResult> TestHubConnection(string message)
//{
// try
// {
// await _signalRservice.TestHub();
// return Json(new { success = true, message = $"Hub successfully called - {message}" });
// }
// catch (Exception ex)
// {
// return Json(new { success = false, message = $"Error: {ex.Message}" });
// }
//}
}