TourIAm/TIAM.Database/DataLayers/Auctions/AuctionDal.cs

55 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using TIAM.Database.DbContexts;
using TIAM.Entities.Auctions;
namespace TIAM.Database.DataLayers.Users
{
public class AuctionDal : TiamDalBase<AuctionDbContext>
{
public AuctionDal() : base()
{
}
public Task<List<AuctionBid>> GetBids()
{
return Context.AuctionBids.ToListAsync();
}
public Task<List<AuctionBid>> GetBidsByEmail(string email)
{
Console.WriteLine($"Getting bid from db {email}");
var emailLower = email.ToLower();
return Context.AuctionBids.Where(x => x.Email.ToLower() == emailLower).ToListAsync();
}
public async Task<AuctionBid?> GetBidById(Guid id)
{
Console.WriteLine($"Getting bid from db {id}");
return Context.AuctionBids.FirstOrDefault(x => x.Id == id);
}
public Task<bool> CreateBidAsync(AuctionBid auctionBid)
{
auctionBid.Created = DateTime.UtcNow;
auctionBid.Modified = DateTime.UtcNow;
Context.AuctionBids.Add(auctionBid);
Console.WriteLine($"Saving user to db {auctionBid.Id}, {auctionBid.Email}, {auctionBid.PhoneNumber}");
return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
}
public Task<bool> UpdateBidAsync(AuctionBid auctionBid)
{
auctionBid.Modified = DateTime.UtcNow;
Context.AuctionBids.Update(auctionBid);
return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
}
}
}