194 lines
3.8 KiB
C#
194 lines
3.8 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.SignalR;
|
|
using Nop.Plugin.Misc.AuctionPlugin;
|
|
using Nop.Plugin.Misc.AuctionPlugin.Domains;
|
|
using Nop.Plugin.Misc.AuctionPlugin.Models;
|
|
using Nop.Plugin.Misc.AuctionPlugin.Services;
|
|
using Nop.Web.Areas.Admin.Controllers;
|
|
//using Nop.Web.Framework.Kendoui;
|
|
using Nop.Web.Framework.Mvc;
|
|
using System;
|
|
using System.Linq;
|
|
|
|
namespace Nop.Plugin.Misc.AuctionPlugin.Controllers
|
|
{
|
|
|
|
|
|
|
|
public class LiveAnnouncementController : BaseAdminController
|
|
|
|
{
|
|
|
|
#region Field
|
|
|
|
|
|
|
|
private readonly IAnnouncementService _announcementService;
|
|
|
|
private IHubContext<AuctionHub> _announcementHubContext;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Ctr
|
|
|
|
|
|
|
|
public LiveAnnouncementController(
|
|
|
|
IAnnouncementService announcementService,
|
|
|
|
IHubContext<AuctionHub> announcementHubContext)
|
|
|
|
{
|
|
|
|
_announcementService = announcementService;
|
|
|
|
_announcementHubContext = announcementHubContext;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
#region Methods
|
|
|
|
public IActionResult Announcement()
|
|
{
|
|
|
|
var model = new AnnouncementModel();
|
|
|
|
return View("~/Plugins/Misc.AuctionPlugin/Views/LiveAnnouncementView/Announcement.cshtml", model);
|
|
|
|
}
|
|
|
|
[HttpPost]
|
|
public IActionResult Announcement(AnnouncementModel model)
|
|
|
|
{
|
|
|
|
AnnouncementEntity objOfAnnouncementDomain = new AnnouncementEntity();
|
|
|
|
objOfAnnouncementDomain.Name = model.Name;
|
|
|
|
objOfAnnouncementDomain.Body = model.Body;
|
|
|
|
objOfAnnouncementDomain.IsActive = model.IsActive;
|
|
|
|
objOfAnnouncementDomain.CreateDate = DateTime.UtcNow;
|
|
|
|
_announcementService.Insert(objOfAnnouncementDomain);
|
|
|
|
|
|
|
|
if (model.IsActive == true)
|
|
|
|
{
|
|
|
|
_announcementHubContext.Clients.All.SendAsync("send", model.Body.ToString());
|
|
|
|
}
|
|
|
|
return RedirectToAction("AnnouncementList");
|
|
|
|
}
|
|
|
|
[HttpPost]
|
|
public IActionResult Edit(AnnouncementEntity model)
|
|
|
|
{
|
|
|
|
var entity = _announcementService.GetAnnouncementByIdAsync(model.Id);
|
|
|
|
entity.Name = model.Name;
|
|
|
|
entity.Body = model.Body;
|
|
|
|
entity.IsActive = model.IsActive;
|
|
|
|
entity.CreateDate = DateTime.UtcNow;
|
|
|
|
_announcementService.Update(entity);
|
|
|
|
|
|
|
|
if (model.IsActive == true)
|
|
|
|
{
|
|
|
|
_announcementHubContext.Clients.All.SendAsync("send", model.Body.ToString());
|
|
|
|
}
|
|
|
|
return RedirectToAction("AnnouncementList");
|
|
|
|
}
|
|
|
|
public async Task<IActionResult> Edit(int Id)
|
|
|
|
{
|
|
|
|
var singleAnnouncement = await _announcementService.GetAnnouncementByIdAsync(Id);
|
|
|
|
var model = new AnnouncementEntity();
|
|
|
|
model.Id = singleAnnouncement.Id;
|
|
|
|
model.Name = singleAnnouncement.Name;
|
|
|
|
model.Body = singleAnnouncement.Body;
|
|
|
|
model.IsActive = singleAnnouncement.IsActive;
|
|
|
|
|
|
|
|
return View("~/Plugins/Widget.LiveAnnouncement/Views/LiveAnnouncementView/Announcement.cshtml", model);
|
|
|
|
|
|
|
|
}
|
|
|
|
public IActionResult Delete(int Id)
|
|
|
|
{
|
|
|
|
var singleAnnouncement = _announcementService.GetAnnouncementById(Id);
|
|
|
|
_announcementService.Delete(singleAnnouncement);
|
|
|
|
return new NullJsonResult();
|
|
|
|
}
|
|
|
|
|
|
|
|
public IActionResult AnnouncementList()
|
|
|
|
{
|
|
|
|
var model = new AnnouncementModel();
|
|
|
|
return View("~/Plugins/Widget.LiveAnnouncement/Views/LiveAnnouncementView/AnnouncementList.cshtml", model);
|
|
|
|
}
|
|
|
|
//[HttpPost]
|
|
//public IActionResult AnnouncementList()
|
|
//{
|
|
|
|
|
|
|
|
// return View();
|
|
|
|
//}
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|