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 Configure(bool showtour = false) { return View("~/Plugins/Misc.AuctionPlugin/Areas/Admin/Views/Configure.cshtml", new ConfigurationModel()); } [HttpPost, ActionName("Configure")] [FormValueRequired("save")] public async Task 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 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}" }); // } //} }