Browse Source

Use IEventRegistrationRepository in EventRegistrationManager

pull/74/merge
Halil İbrahim Kalkan 5 years ago
parent
commit
f953936239
  1. 12
      src/EventHub.Domain/Events/Registrations/EventRegistrationManager.cs
  2. 2
      src/EventHub.Domain/Events/Registrations/IEventRegistrationRepository.cs
  3. 7
      src/EventHub.EntityFrameworkCore/EntityFrameworkCore/Events/Registrations/EventRegistrationRepository.cs

12
src/EventHub.Domain/Events/Registrations/EventRegistrationManager.cs

@ -1,7 +1,5 @@
using System;
using System.Threading.Tasks;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
using Volo.Abp.Identity;
@ -9,9 +7,9 @@ namespace EventHub.Events.Registrations
{
public class EventRegistrationManager : DomainService
{
private readonly IRepository<EventRegistration, Guid> _eventRegistrationRepository;
private readonly IEventRegistrationRepository _eventRegistrationRepository;
public EventRegistrationManager(IRepository<EventRegistration, Guid> eventRegistrationRepository)
public EventRegistrationManager(IEventRegistrationRepository eventRegistrationRepository)
{
_eventRegistrationRepository = eventRegistrationRepository;
}
@ -30,7 +28,7 @@ namespace EventHub.Events.Registrations
return;
}
var registrationCount = await _eventRegistrationRepository.CountAsync(x => x.EventId == @event.Id);
var registrationCount = await _eventRegistrationRepository.GetCountAsync(@event.Id);
if (@event.Capacity != null && registrationCount >= @event.Capacity)
{
@ -66,7 +64,7 @@ namespace EventHub.Events.Registrations
IdentityUser user)
{
return await _eventRegistrationRepository
.AnyAsync(x => x.EventId == @event.Id && x.UserId == user.Id);
.ExistsAsync(@event.Id, user.Id);
}
public bool IsPastEvent(Event @event)

2
src/EventHub.Domain/Events/Registrations/IEventRegistrationRepository.cs

@ -17,5 +17,7 @@ namespace EventHub.Events.Registrations
int maxResultCount = int.MaxValue,
CancellationToken cancellationToken = default
);
Task<bool> ExistsAsync(Guid eventId, Guid userId);
}
}

7
src/EventHub.EntityFrameworkCore/EntityFrameworkCore/Events/Registrations/EventRegistrationRepository.cs

@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Identity;
@ -57,5 +58,11 @@ namespace EventHub.EntityFrameworkCore.Events.Registrations
return await query.ToListAsync(GetCancellationToken(cancellationToken));
}
public async Task<bool> ExistsAsync(Guid eventId, Guid userId)
{
var dbSet = await GetDbSetAsync();
return await dbSet.AnyAsync(x => x.EventId == eventId && x.UserId == userId);
}
}
}

Loading…
Cancel
Save