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 _announcementRepository; #endregion #region Ctr public AnnouncementService(IRepository announcementRepository) { _announcementRepository = announcementRepository; } #endregion #region Methods public async Task DeleteAsync(Announcement announcement) { await _announcementRepository.DeleteAsync(announcement); } public async Task 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> 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(query2, pageIndex, pageSize); return liveAnnouncementDomain; } public async Task 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 GetAnnouncementByIdAsync(int Id) { return await _announcementRepository.GetByIdAsync(Id); } #endregion } }