FEAT: DB basics
This commit is contained in:
@@ -11,10 +11,19 @@ namespace TicketAppIncrArchi.Application.Services;
|
||||
public class TicketService : ITicketService
|
||||
{
|
||||
|
||||
private readonly List<Ticket> _tickets = new();
|
||||
public IEnumerable<TicketResponse> GetAll()
|
||||
private readonly ITicketRepository _repo;
|
||||
//private readonly List<Ticket> _tickets = new();
|
||||
|
||||
public TicketService(ITicketRepository repo)
|
||||
{
|
||||
var result =_tickets.Select(t => new TicketResponse
|
||||
_repo = repo;
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<TicketResponse>> GetAll()
|
||||
{
|
||||
var tickets = await _repo.GetAllAsync();
|
||||
|
||||
var result =tickets.Select(t => new TicketResponse
|
||||
{
|
||||
Id = t.Id,
|
||||
Title = t.Title,
|
||||
@@ -23,29 +32,27 @@ public class TicketService : ITicketService
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public Result<TicketResponse> GetById(Guid id)
|
||||
public async Task<Result<TicketResponse>> GetById(Guid id)
|
||||
{
|
||||
//TODO: should use result
|
||||
var found = _tickets.FirstOrDefault(ticket => ticket.Id == id);
|
||||
|
||||
if (found == null)
|
||||
var ticket = await _repo.GetByIdAsync(id);
|
||||
|
||||
if (ticket == null)
|
||||
{
|
||||
return Result<TicketResponse>.Fail("No Ticket Found");
|
||||
}
|
||||
|
||||
var ticketResponse = new TicketResponse
|
||||
{
|
||||
Id = found.Id,
|
||||
Title = found.Title,
|
||||
Description = found.Description,
|
||||
Id = ticket.Id,
|
||||
Title = ticket.Title,
|
||||
Description = ticket.Description,
|
||||
};
|
||||
|
||||
return Result<TicketResponse>.Ok(found);
|
||||
return Result<TicketResponse>.Ok(ticketResponse);
|
||||
}
|
||||
|
||||
public Result<CreateTicketResponse> Create(CreateTicketRequest request)
|
||||
public async Task<Result<CreateTicketResponse>> Create(CreateTicketRequest request)
|
||||
{
|
||||
|
||||
if (string.IsNullOrWhiteSpace(request.Title))
|
||||
@@ -53,25 +60,21 @@ public class TicketService : ITicketService
|
||||
|
||||
var ticket = new Ticket
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Title = request.Title,
|
||||
Description = request.Description
|
||||
};
|
||||
|
||||
//send creation to repo
|
||||
_tickets.Add(ticket);
|
||||
Ticket resultTicket = await _repo.AddAsync(ticket);
|
||||
|
||||
var ticketResponse = new CreateTicketResponse
|
||||
{
|
||||
Id = ticket.Id,
|
||||
Title = ticket.Title,
|
||||
Description = ticket.Description
|
||||
Id = resultTicket.Id,
|
||||
Title = resultTicket.Title,
|
||||
Description = resultTicket.Description
|
||||
};
|
||||
|
||||
return Result<CreateTicketResponse>.Ok(ticketResponse);
|
||||
|
||||
return Result<CreateTicketResponse>.Ok(ticketResponse);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user