40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Registration.Infra.Repositories;
|
|
|
|
namespace Registration.API.Controllers
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class RegistrationController(IMemberRepository memberRepository) : ControllerBase
|
|
{
|
|
private readonly IMemberRepository _memberRepository = memberRepository;
|
|
|
|
[HttpPost("register/{ssn}")]
|
|
public async Task<IActionResult> RegisterMember(string ssn)
|
|
{
|
|
var added = await _memberRepository.AddRegistration(ssn);
|
|
if (added)
|
|
{
|
|
return Ok(new { Message = "Member registered successfully." });
|
|
}
|
|
else
|
|
{
|
|
return Conflict(new { Message = "Member is already registered." });
|
|
}
|
|
}
|
|
|
|
[HttpGet("registered/{ssn}")]
|
|
public async Task<IActionResult> IsMemberRegistered(string ssn)
|
|
{
|
|
var isRegistered = await _memberRepository.GetIsRegistered(ssn);
|
|
return Ok(new { IsRegistered = isRegistered });
|
|
}
|
|
|
|
[HttpDelete("clear")]
|
|
public async Task<IActionResult> ClearRegistrations()
|
|
{
|
|
await _memberRepository.ClearRegistrations();
|
|
return Ok(new { Message = "All registrations cleared." });
|
|
}
|
|
}
|
|
}
|