using System.Collections.Generic; using System.Threading.Tasks; using GameAuthApi.Models; using Microsoft.Extensions.Configuration; using MongoDB.Driver; namespace GameAuthApi.Services; public class AuctionService { private readonly IMongoCollection _auctions; public AuctionService(IConfiguration config) { var client = new MongoClient(config["MongoDB:ConnectionString"]); var db = client.GetDatabase(config["MongoDB:DatabaseName"]); _auctions = db.GetCollection("Auctions"); } public virtual async Task CreateAsync(Auction auction) => await _auctions.InsertOneAsync(auction); public virtual async Task GetByIdAsync(string id) => await _auctions.Find(a => a.Id == id).FirstOrDefaultAsync(); public virtual async Task UpdateAsync(Auction auction) => await _auctions.ReplaceOneAsync(a => a.Id == auction.Id, auction); public virtual async Task> GetActiveAsync() => await _auctions.Find(a => !a.IsClosed).ToListAsync(); }