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 GetContactList() { var response = await _directoryHelper.GetListOfContacts(); if(response.StatusCode == 200) { return Ok(response); } else { return BadRequest(response); } } [HttpPost] public async Task 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.ErrorResponse("Invalid data", errors, 400)); } return Ok(); } } }