slarny4/Demo1/Controllers/PresenceController.cs

59 lines
1.9 KiB
C#
Raw Normal View History

2024-11-25 04:33:26 +00:00
using Microsoft.AspNetCore.Mvc;
using Demo.Data.RemoteData.RemoteDataBase.DAO;
using Demo.Domain.UseCase;
using Demo.Domain.Models;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Demo.API.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class PresenceController : ControllerBase
{
private readonly UseCasePresence _presenceUseCase;
public PresenceController(UseCasePresence presenceUseCase)
{
_presenceUseCase = presenceUseCase;
}
[HttpGet("getPresenceByGroup")]
public IActionResult GetPresenceByGroup([FromQuery] int groupId)
{
var presence = _presenceUseCase.GetPresenceByGroup(groupId);
return Ok(presence);
}
[HttpPost("addPresence")]
public IActionResult AddPresence([FromBody] Demo.Data.RemoteData.RemoteDataBase.DAO.Presence daoPresence)
{
var domainPresence = new Demo.Domain.Models.Presence
{
Id = daoPresence.Id,
Date = daoPresence.Date,
LessonNumber = daoPresence.LessonNumber,
IsAttendance = daoPresence.IsAttendance,
UserId = daoPresence.UserId
};
_presenceUseCase.PresenceRepository.AddPresence(domainPresence);
return Ok();
}
[HttpPut("markUserAsAbsent")]
public IActionResult MarkUserAsAbsent([FromQuery] Guid userId, [FromQuery] int lessonNumber, [FromQuery] DateTime date)
{
_presenceUseCase.MarkUserAsAbsent(userId, lessonNumber, date);
return Ok();
}
[HttpDelete("deletePresence")]
public IActionResult DeletePresence([FromQuery] Guid id)
{
_presenceUseCase.PresenceRepository.DeletePresence(id);
return Ok();
}
}
}