2025-06-09 18:47:18 +05:30

63 lines
1.6 KiB
C#

using Marco.Pms.Model.Dtos.Directory;
using Marco.Pms.Model.Utilities;
using Marco.Pms.Services.Helpers;
using MarcoBMS.Services.Service;
using Microsoft.AspNetCore.Mvc;
namespace Marco.Pms.Services.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class DirectoryController : ControllerBase
{
private readonly DirectoryHelper _directoryHelper;
private readonly ILoggingService _logger;
public DirectoryController(DirectoryHelper directoryHelper, ILoggingService logger)
{
_directoryHelper = directoryHelper;
_logger = logger;
}
[HttpGet]
public async Task<IActionResult> GetContactList()
{
var response = await _directoryHelper.GetListOfContacts();
if(response.StatusCode == 200)
{
return Ok(response);
}
else
{
return BadRequest(response);
}
}
[HttpPost]
public async Task<IActionResult> CreateContact([FromBody] CreateContactDto createContact)
{
if (!ModelState.IsValid)
{
var errors = ModelState.Values
.SelectMany(v => v.Errors)
.Select(e => e.ErrorMessage)
.ToList();
_logger.LogError("User sent Invalid Date while marking attendance");
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
}
return Ok();
}
}
}