Mango.Nop.Plugins/Nop.Plugin.Misc.AuctionPlugin/Services/AnnouncementService.cs

120 lines
2.6 KiB
C#

using DocumentFormat.OpenXml.Spreadsheet;
using Nop.Core;
using Nop.Data;
using Nop.Plugin.Misc.AuctionPlugin.Domains;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Nop.Plugin.Misc.AuctionPlugin.Domains.Entities;
namespace Nop.Plugin.Misc.AuctionPlugin.Services
{
public class AnnouncementService : IAnnouncementService
{
#region Field
private readonly IRepository<Announcement> _announcementRepository;
#endregion
#region Ctr
public AnnouncementService(IRepository<Announcement> announcementRepository)
{
_announcementRepository = announcementRepository;
}
#endregion
#region Methods
public async Task DeleteAsync(Announcement announcement)
{
await _announcementRepository.DeleteAsync(announcement);
}
public async Task<bool> UpdateAsync(Announcement announcement)
{
if (announcement == null)
throw new ArgumentNullException("customer");
await _announcementRepository.UpdateAsync(announcement);
return true;
}
public async Task InsertAsync(Announcement announcement)
{
await _announcementRepository.InsertAsync(announcement);
}
public async Task<IPagedList<Announcement>> GetAnnouncementsAsync(int pageIndex = 0, int pageSize = int.MaxValue)
{
var query = from c in _announcementRepository.Table
select c;
var query2 = query.OrderBy(b => b.IsActive).ToList();
var liveAnnouncementDomain = new PagedList<Announcement>(query2, pageIndex, pageSize);
return liveAnnouncementDomain;
}
public async Task<Announcement> GetAnnouncementDesignFirstAsync()
{
var result = await _announcementRepository.GetAllAsync(query =>
{
query = query.Where(record => record.IsActive == true);
return query;
});
//var query = from c in _announcementRepository.Table
// where c.IsActive == true
// orderby c.CreateDate descending
// select c;
var LatestAnnouncement = result.ToList().FirstOrDefault();
return LatestAnnouncement;
}
public async Task<Announcement> GetAnnouncementByIdAsync(int Id)
{
return await _announcementRepository.GetByIdAsync(Id);
}
#endregion
}
}