summaryrefslogtreecommitdiff
path: root/Services
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2022-11-23 17:56:41 -0600
committerHombreLaser <sebastian-440@live.com>2022-11-23 17:56:41 -0600
commitccfe519bc75a95bae4f8f99b0b73a90c367f6272 (patch)
treec5ffaeed2fb03a5fbe92781e7e4f8823d7d233e0 /Services
parent8ea8f4f9a9bbb6db9abe1294163d2444d1e5da7b (diff)
Añadido controlador de tickets
Diffstat (limited to 'Services')
-rw-r--r--Services/ITicketService.cs10
-rw-r--r--Services/RaffleService.cs7
-rw-r--r--Services/TicketService.cs39
3 files changed, 50 insertions, 6 deletions
diff --git a/Services/ITicketService.cs b/Services/ITicketService.cs
new file mode 100644
index 0000000..b25ec83
--- /dev/null
+++ b/Services/ITicketService.cs
@@ -0,0 +1,10 @@
+using BackendPIA.Models;
+
+namespace BackendPIA.Services {
+ public interface ITicketService {
+ public Task<Ticket> CreateTicket(Ticket to_create);
+ public Task<IEnumerable<Ticket>> GetTickets(long raffle_id);
+ public Task<Ticket> GetTicket(long raffle_id, long id);
+ public Task<bool> DeleteTicket(long raffle_id, long id);
+ }
+} \ No newline at end of file
diff --git a/Services/RaffleService.cs b/Services/RaffleService.cs
index 6cdae3b..58401b8 100644
--- a/Services/RaffleService.cs
+++ b/Services/RaffleService.cs
@@ -38,12 +38,7 @@ namespace BackendPIA.Services {
}
public async Task<Raffle> GetRaffle(long id) {
- var raffle = await _context.Raffles.FindAsync(id);
-
- if(raffle == null)
- return null;
-
- return raffle;
+ return await _context.Raffles.FindAsync(id);
}
public async Task<bool> DeleteRaffle(long id) {
diff --git a/Services/TicketService.cs b/Services/TicketService.cs
new file mode 100644
index 0000000..3ac9660
--- /dev/null
+++ b/Services/TicketService.cs
@@ -0,0 +1,39 @@
+using Microsoft.EntityFrameworkCore;
+using BackendPIA.Models;
+
+namespace BackendPIA.Services {
+ public class TicketService : ITicketService {
+ private readonly ApplicationDbContext _context;
+
+ public TicketService(ApplicationDbContext context) {
+ _context = context;
+ }
+
+ public async Task<Ticket> CreateTicket(Ticket to_create) {
+ await _context.AddAsync(to_create);
+ await _context.SaveChangesAsync();
+
+ return to_create;
+ }
+
+ public async Task<IEnumerable<Ticket>> GetTickets(long raffle_id) {
+ return await _context.Tickets.Where(t => t.RaffleId == raffle_id).ToListAsync();
+ }
+
+ public async Task<Ticket> GetTicket(long raffle_id, long id) {
+ return await _context.Tickets.Where(t => t.RaffleId == raffle_id).FirstOrDefaultAsync(t => t.Id == id);
+ }
+
+ public async Task<bool> DeleteTicket(long raffle_id, long id) {
+ var to_delete = await _context.Tickets.Where(t => t.RaffleId == raffle_id).FirstOrDefaultAsync(t => t.Id == id);
+
+ if(to_delete == null)
+ return false;
+
+ _context.Tickets.Remove(to_delete);
+ await _context.SaveChangesAsync();
+
+ return true;
+ }
+ }
+} \ No newline at end of file