Добавьте файлы проекта.
This commit is contained in:
14
Services/Tickets/Extentions/ServiceCollectionExtentions.cs
Normal file
14
Services/Tickets/Extentions/ServiceCollectionExtentions.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Services.Numbers.Extentions;
|
||||
|
||||
namespace Services.Tickets.Extentions;
|
||||
|
||||
public static class ServiceCollectionExtentions
|
||||
{
|
||||
public static void TyAddTicketService(this IServiceCollection services)
|
||||
{
|
||||
services.TyAddNumbersService();
|
||||
services.TryAddScoped<ITicketService, TicketService>();
|
||||
}
|
||||
}
|
||||
8
Services/Tickets/ITicketRepository.cs
Normal file
8
Services/Tickets/ITicketRepository.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using Services.Tickets.Models;
|
||||
|
||||
namespace Services.Tickets;
|
||||
public interface ITicketRepository
|
||||
{
|
||||
Task<long> AddNewTicket(LotteryTicket ticket);
|
||||
Task<List<LotteryTicket>> GetAllTickets();
|
||||
}
|
||||
9
Services/Tickets/ITicketService.cs
Normal file
9
Services/Tickets/ITicketService.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using Services.Tickets.Models;
|
||||
|
||||
namespace Services.Tickets;
|
||||
|
||||
public interface ITicketService
|
||||
{
|
||||
Task<List<LotteryTicket>> GetAllTickets();
|
||||
Task<LotteryTicket> GetNewTicket();
|
||||
}
|
||||
8
Services/Tickets/Models/LotteryTicket.cs
Normal file
8
Services/Tickets/Models/LotteryTicket.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Services.Tickets.Models;
|
||||
public class LotteryTicket
|
||||
{
|
||||
public long? Id { get; set; }
|
||||
public byte[]? Numbers { get; set; }
|
||||
public string? Owner { get; set; }
|
||||
public string? PhoneNumber { get; set; }
|
||||
}
|
||||
36
Services/Tickets/TicketService.cs
Normal file
36
Services/Tickets/TicketService.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Services.Numbers;
|
||||
using Services.Tickets.Models;
|
||||
|
||||
namespace Services.Tickets;
|
||||
|
||||
internal class TicketService : ITicketService
|
||||
{
|
||||
private readonly ILogger<TicketService> _logger;
|
||||
private readonly ITicketRepository _ticketRepository;
|
||||
private readonly INumbersService _numbersService;
|
||||
|
||||
public TicketService(ILogger<TicketService> logger, ITicketRepository ticketRepository, INumbersService numbersService)
|
||||
{
|
||||
_logger = logger;
|
||||
_ticketRepository = ticketRepository;
|
||||
_numbersService = numbersService;
|
||||
}
|
||||
|
||||
public Task<List<LotteryTicket>> GetAllTickets()
|
||||
{
|
||||
return _ticketRepository.GetAllTickets();
|
||||
}
|
||||
|
||||
public async Task<LotteryTicket> GetNewTicket()
|
||||
{
|
||||
LotteryTicket ticket = new()
|
||||
{
|
||||
Numbers = _numbersService.GetNumbers(6)
|
||||
};
|
||||
var id = await _ticketRepository.AddNewTicket(ticket);
|
||||
ticket.Id = id;
|
||||
//_logger.LogInformation("New ticket created");
|
||||
return ticket;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user