oqtane.framework/Oqtane.Server/Repository/VisitorRepository.cs
2021-12-09 08:48:56 -05:00

52 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Oqtane.Models;
namespace Oqtane.Repository
{
public class VisitorRepository : IVisitorRepository
{
private TenantDBContext _db;
public VisitorRepository(TenantDBContext context)
{
_db = context;
}
public IEnumerable<Visitor> GetVisitors(int siteId, DateTime fromDate)
{
return _db.Visitor.AsNoTracking()
.Include(item => item.User) // eager load users
.Where(item => item.SiteId == siteId && item.VisitedOn >= fromDate);
}
public Visitor AddVisitor(Visitor visitor)
{
_db.Visitor.Add(visitor);
_db.SaveChanges();
return visitor;
}
public Visitor UpdateVisitor(Visitor visitor)
{
_db.Entry(visitor).State = EntityState.Modified;
_db.SaveChanges();
return visitor;
}
public Visitor GetVisitor(int visitorId)
{
return _db.Visitor.Find(visitorId);
}
public void DeleteVisitor(int visitorId)
{
Visitor visitor = _db.Visitor.Find(visitorId);
_db.Visitor.Remove(visitor);
_db.SaveChanges();
}
}
}