Files
monorepo/LCU.API.Collections.RepoApi-old/LCU.Shared.Collections.RepoApiLib/Repositories/AuctionAssignmentNoteRepository.cs
T
2026-04-20 14:47:24 -05:00

56 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using LCU.Shared.Collections.RepoApiLib.Models;
using LCU.Shared.Collections.RepoApiLib.Models.Results;
using LCU.Shared.Collections.RepoApiLib.Persistence;
using Microsoft.EntityFrameworkCore;
namespace LCU.Shared.Collections.RepoApiLib.Repositories
{
public class AuctionAssignmentNoteRepository : BaseRepository, IAuctionAssignmentNoteRepository
{
public AuctionAssignmentNoteRepository(AppDbContext context) : base(context) { }
public async Task<PagedResult<AuctionAssignmentNote>> ListAllAsync(int filterPage, int filterLimit)
{
var results = new PagedResult<AuctionAssignmentNote>();
var skip = (filterPage - 1) * filterLimit;
var temp = Queryable.OrderByDescending(from x in _context.AuctionAssignmentNotes
select x, x => x.Id);
results.Total = temp.Count();
results.Items = await temp.Skip(skip).Take(filterLimit).ToListAsync();
return results;
}
public async Task<AuctionAssignmentNote> FindByIdAsync(int id)
{
return await Queryable.Where(_context.AuctionAssignmentNotes, c => c.Id == id).FirstOrDefaultAsync();
}
public async Task<IEnumerable<AuctionAssignmentNote>> FindConflictingNotes(DateTime written, string text, string writer)
{
return await Queryable.Where(_context.AuctionAssignmentNotes, c => c.DateWritten == written && c.Text == text && c.Writer == writer).ToListAsync();
}
public async Task<AuctionAssignmentNote> AddAsync(AuctionAssignmentNote auctionAssignmentNote)
{
var result = await _context.AuctionAssignmentNotes.AddAsync(auctionAssignmentNote);
return result.Entity;
}
public void Update(AuctionAssignmentNote auctionAssignmentNote)
{
_context.AuctionAssignmentNotes.Update(auctionAssignmentNote);
}
public void Remove(AuctionAssignmentNote auctionAssignmentNote)
{
_context.AuctionAssignmentNotes.Remove(auctionAssignmentNote);
}
}
}