From 3ecdfb74f48f8150c971d0193571bb8113bb1861 Mon Sep 17 00:00:00 2001 From: kubapoke Date: Mon, 28 Apr 2025 00:06:20 +0200 Subject: [PATCH] fixed getting events --- .../Events/Services/EventServiceTests.cs | 8 +++---- .../Events/Abstractions/IEventRepository.cs | 2 +- .../Events/Repositories/EventRepository.cs | 22 ++++++++++++++----- .../TickAPI/Events/Services/EventService.cs | 2 +- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/TickAPI/TickAPI.Tests/Events/Services/EventServiceTests.cs b/TickAPI/TickAPI.Tests/Events/Services/EventServiceTests.cs index 1bca7bc..cda1b68 100644 --- a/TickAPI/TickAPI.Tests/Events/Services/EventServiceTests.cs +++ b/TickAPI/TickAPI.Tests/Events/Services/EventServiceTests.cs @@ -626,8 +626,8 @@ public async Task GetEventDetailsAsync_WhenSuccessful_ShouldReturnEventDetails() var ticketServiceMock = new Mock(); eventRepositoryMock - .Setup(m => m.GetEventById(@event.Id)) - .Returns(Result.Success(@event)); + .Setup(m => m.GetEventByIdAsync(@event.Id)) + .ReturnsAsync(Result.Success(@event)); ticketServiceMock .Setup(m => m.GetNumberOfAvailableTicketsByType(It.IsAny())) @@ -669,8 +669,8 @@ public async Task GetEventDetailsAsync_WhenFails_ShouldReturnEventError() var ticketServiceMock = new Mock(); eventRepositoryMock - .Setup(m => m.GetEventById(@event.Id)) - .Returns(Result.Failure(StatusCodes.Status404NotFound, $"event with id {@event.Id} not found")); + .Setup(m => m.GetEventByIdAsync(@event.Id)) + .ReturnsAsync(Result.Failure(StatusCodes.Status404NotFound, $"event with id {@event.Id} not found")); var sut = new EventService(eventRepositoryMock.Object, organizerServiceMock.Object, addressServiceMock.Object, dateTimeServiceMock.Object, paginationServiceMock.Object, categoryServiceMock.Object, ticketServiceMock.Object); diff --git a/TickAPI/TickAPI/Events/Abstractions/IEventRepository.cs b/TickAPI/TickAPI/Events/Abstractions/IEventRepository.cs index aa3a753..8f4c560 100644 --- a/TickAPI/TickAPI/Events/Abstractions/IEventRepository.cs +++ b/TickAPI/TickAPI/Events/Abstractions/IEventRepository.cs @@ -9,5 +9,5 @@ public interface IEventRepository public Task AddNewEventAsync(Event @event); public IQueryable GetEvents(); public IQueryable GetEventsByOranizer(Organizer organizer); - public Result GetEventById(Guid eventId); + public Task> GetEventByIdAsync(Guid eventId); } \ No newline at end of file diff --git a/TickAPI/TickAPI/Events/Repositories/EventRepository.cs b/TickAPI/TickAPI/Events/Repositories/EventRepository.cs index 73b4e13..bdc59ee 100644 --- a/TickAPI/TickAPI/Events/Repositories/EventRepository.cs +++ b/TickAPI/TickAPI/Events/Repositories/EventRepository.cs @@ -1,4 +1,5 @@ -using TickAPI.Common.Results.Generic; +using Microsoft.EntityFrameworkCore; +using TickAPI.Common.Results.Generic; using TickAPI.Common.TickApiDbContext; using TickAPI.Events.Abstractions; using TickAPI.Events.Models; @@ -23,17 +24,28 @@ public async Task AddNewEventAsync(Event @event) public IQueryable GetEvents() { - return _tickApiDbContext.Events; + return _tickApiDbContext.Events + .Include(e => e.Address) + .Include(e => e.TicketTypes) + .Include(e => e.Categories); } public IQueryable GetEventsByOranizer(Organizer organizer) { - return _tickApiDbContext.Events.Where(e => e.Organizer.Id == organizer.Id); + return _tickApiDbContext.Events + .Include(e => e.Address) + .Include(e => e.TicketTypes) + .Include(e => e.Categories) + .Where(e => e.Organizer.Id == organizer.Id); } - public Result GetEventById(Guid eventId) + public async Task> GetEventByIdAsync(Guid eventId) { - var @event = _tickApiDbContext.Events.Find(eventId); + var @event = await _tickApiDbContext.Events + .Include(e => e.Address) + .Include(e => e.TicketTypes) + .Include(e => e.Categories) + .FirstOrDefaultAsync(e => e.Id == eventId); if (@event == null) { diff --git a/TickAPI/TickAPI/Events/Services/EventService.cs b/TickAPI/TickAPI/Events/Services/EventService.cs index aa7e5ef..d0c5244 100644 --- a/TickAPI/TickAPI/Events/Services/EventService.cs +++ b/TickAPI/TickAPI/Events/Services/EventService.cs @@ -122,7 +122,7 @@ public async Task> GetEventsPaginationDetailsAsync(int public async Task> GetEventDetailsAsync(Guid eventId) { - var eventResult = _eventRepository.GetEventById(eventId); + var eventResult = await _eventRepository.GetEventByIdAsync(eventId); if (eventResult.IsError) {